Part Number Hot Search : 
PI3HDMI U1620DG 1C220 MB39C031 07102 LTM455DU DP7303J LN514GK
Product Description
Full Text Search
 

To Download AD9910PCBZ Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  1 gsps, 14-bit, 3.3 v cmos direct digital synthesizer ad9910 rev. 0 information furnished by analog devices is believed to be accurate and reliable. however, no responsibility is assumed by analog devices for its use, nor for any infringements of patents or other rights of third parties that may result from its use. specifications subject to change without notice. no license is granted by implication or otherwise under any patent or patent rights of analog devices. trademarks and registered trademarks are the property of their respective owners. one technology way, p.o. box 9106, norwood, ma 02062-9106, u.s.a. tel: 781.329.4700 www.analog.com fax: 781.461.3113 ?2007 analog devices, inc. all rights reserved. features 1 gsps internal clock speed (up to 400 mhz analog output) integrated 1 gsps, 14-bit dac 32-bit tuning word phase noise ?125 dbc/hz @ 1 khz offset (400 mhz carrier) excellent dynamic performance with >80 db narrow-band sfdr serial input/output (i/o) control automatic linear or arbitrary frequency, phase, and amplitude sweep capability 8 frequency and phase offset profiles 1.8 v and 3.3 v power supplies software and hardware controlled power-down 100-lead tqfp_ep package integrated 1024 word 32-bit ram pll refclk multiplier parallel datapath interface internal oscillator, can be driven by a single crystal phase modulation capability amplitude modulation capability multichip synchronization applications agile local oscillator (lo) frequency synthesis programmable clock generator fm chirp source for radar and scanning systems test and measurement equipment acousto-optic device drivers polar modulator fast frequency hopping functional block diagram 14-bit dac 1gsps dds core linear ramp generator 1024 element ram high speed parallel data interface timing and control serial control data port refclk multiplier 06479-001 ad9910 figure 1.
ad9910 rev. 0 | page 2 of 60 table of contents features .............................................................................................. 1 applications ....................................................................................... 1 functional block diagram .............................................................. 1 revision history ............................................................................... 3 general description ......................................................................... 4 specifications ..................................................................................... 5 electrical specifications ............................................................... 5 absolute maximum ratings ............................................................ 8 equivalent circuits ....................................................................... 8 esd caution .................................................................................. 8 pin configuration and function descriptions ............................. 9 typical performance characteristics ........................................... 12 application circuits ....................................................................... 15 theory of operation ...................................................................... 16 single tone mode ....................................................................... 16 ram modulation mode ............................................................ 17 digital ramp modulation mode .............................................. 18 parallel data port modulation mode ....................................... 19 parallel data clock (pdclk) ............................................... 19 transmit enable (txenable) ............................................. 20 mode priority .............................................................................. 21 functional block detail ................................................................. 22 dds core ..................................................................................... 22 14-bit dac output .................................................................... 22 auxiliary dac ........................................................................ 23 inverse sinc filter ....................................................................... 23 clock input (ref_clk) ............................................................ 23 ref_clk overview .............................................................. 23 crystal driven ref_clk ..................................................... 24 direct driven ref_clk ....................................................... 24 phase-locked loop (pll) multiplier .................................. 24 pll charge pump .................................................................. 25 external pll loop filter components ............................... 25 pll lock indication .................................................................. 26 output shift keying (osk) ....................................................... 26 manual osk ............................................................................ 26 automatic osk ....................................................................... 26 digital ramp generator (drg) ............................................... 27 drg overview ....................................................................... 27 drg slope control ................................................................ 29 drg limit control ................................................................ 29 drg accumulator clear ....................................................... 29 normal ramp generation .................................................... 29 no-dwell ramp generation ................................................. 31 drover pin .......................................................................... 31 ram control .............................................................................. 32 ram overview ....................................................................... 32 load/retrieve ram operation ............................................ 32 ram playback operation (waveform generation) .......... 32 ram_swp_ovr (ram sweep over) pin ........................ 33 overview of ram playback modes .................................... 33 ram direct switch mode ..................................................... 33 ram direct switch mode with zero-crossing ................. 34 ram ramp up mode ........................................................... 34 ram ramp up internal profile control mode ................. 34 internal profile control continuous waveform timing diagram ................................................................................... 37 ram bidirectional ramp mode .......................................... 37 ram continuous bidirectional ramp mode .................... 38 ram continuous recirculate mode ................................... 40 additional features ........................................................................ 41 profiles ......................................................................................... 41 i/o_update pin .......................................................................... 41 automatic i/o update ............................................................... 41
ad9910 rev. 0 | page 3 of 60 power-down control .................................................................41 synchronization of multiple devices ............................................43 serial programming ........................................................................46 control interfaceserial i/o ....................................................46 general serial i/o operation ....................................................46 instruction byte ...........................................................................46 instruction byte information bit map .................................46 serial i/o port pin descriptions ...............................................46 sclkserial clock ................................................................46 cs chip select bar ...............................................................46 sdioserial data input/output .........................................46 sdoserial data out ...........................................................46 i/o_resetinput/output reset ........................................46 i/o_updateinput/output update ................................47 serial i/o timing diagrams ......................................................47 msb/lsb transfers .....................................................................47 register map and bit descriptions ...............................................48 register bit descriptions ............................................................53 control function register 1 (cfr1) ....................................53 control function register 2 (cfr2) ....................................55 control function register 3 (cfr3) ....................................56 auxiliary dac control register ...........................................56 i/o update rate register .......................................................57 frequency tuning word register (ftw) ...........................57 phase offset word register (pow) .....................................57 amplitude scale factor register (asf) ...............................57 multichip sync register .........................................................58 digital ramp limit register ..................................................58 digital ramp step size register ............................................58 digital ramp rate register ...................................................58 profile registers ......................................................................59 outline dimensions ........................................................................60 ordering guide ...........................................................................60 revision history 5 /07revision 0: initial version
ad9910 rev. 0 | page 4 of 60 general description the ad9910 is a direct digital synthesizer (dds) featuring an integrated 14-bit dac and supporting sample rates up to 1 gsps. the ad9910 employs an advanced, proprietary dds technology that provides a significant reduction in power con- sumption without sacrificing performance. the dds/dac combination forms a digitally programmable, high frequency, analog output synthesizer capable of generating a frequency agile sinusoidal waveform at frequencies up to 400 mhz. the user has access to the three signal control parameters that control the dds: frequency, phase, and amplitude. the dds provides fast frequency hopping and frequency tuning resolu- tion with its 32-bit accumulator. with a 1 gsps sample rate, the tuning resolution is ~0.23 hz. the dds also enables fast phase and amplitude switching capability. the ad9910 is controlled by programming its internal control registers via a serial i/o port. the ad9910 includes an integrated static ram to support various combinations of frequency, phase, and/or amplitude modulation. the ad9910 also supports a user defined, digitally controlled, digital ramp mode of operation. in this mode, the frequency, phase, or amplitude can be varied linearly over time. for more advanced modulation functions, a high speed parallel data input port is included to enable direct frequency, phase, amplitude, or polar modulation. the ad9910 is specified to operate over the extended industrial temperature range (see the absolute maximum ratings section for details). 06479-002 16 parallel input pdclk sclk sdio i/o_reset profile i/o_update ram power down control ext_pwr_dwn dac_rset iout iout cs txenable dac fsc osk ram_swp_ovr a inverse sinc filter clock amplitude (a) frequency ( ) phase ( ) digital ramp generator 8 dac fsc 8 2 drctl drhold drover 2 multichip synchronization sysclk pll 2 clock mode ref_clk ref_clk refclk_out xtal_sel parallel data timing and control serial i/o port 2 ad9910 programming registers output shift keying data route and partition control 3 internal clock timing and control acos ( t+ ) asin ( t+ ) sync_smp_err sync_clk sync_out sync_in pll_lock pll_loop_filter master_reset 2 2 dac 14-bit dds aux dac 8-bit figure 2. detailed block diagram
ad9910 rev. 0 | page 5 of 60 specifications electrical specifications avdd (1.8 v) and dvdd (1.8 v) = 1.8 v 5%, avdd (3.3 v) = 3.3 v 5%, dvdd_i/o = 3.3 v 5%, t = 25c, r set = 10 k, i out = 20 ma, external reference clock frequency = 1000 mhz with refclk multiplier disabled, unless otherwise noted. table 1. parameter conditions/comments min typ max unit ref_clk input characteristics frequency range refclk multiplier disabled 25 1000 mhz enabled 3.2 60 mhz maximum refclk input divider frequency full temperature range 1500 1900 mhz minimum refclk input divider frequency full temperature range 25 35 mhz external crystal 25 mhz input capacitance 3 pf input impedance differential 2.8 k single-ended 1.4 k duty cycle refclk multiplier disabled 45 55 % refclk multiplier enabled 40 60 % ref_clk input level single-ended 50 1000 mv p-p differential 100 2000 mv p-p refclk multiplier vco characteristics vco gain (k v ) @ center frequency vco range setting 0 429 mhz/v vco range setting 1 500 mhz/v vco range setting 2 555 mhz/v vco range setting 3 750 mhz/v vco range setting 4 789 mhz/v vco range setting 5 1 850 mhz/v refclk_out characteristics maximum capacitive load 20 pf maximum frequency 25 mhz dac output characteristics full-scale output current 8.6 20 31.6 ma gain error ?10 +10 %fs output offset 2.3 a differential nonlinearity 0.8 lsb integral nonlinearity 1.5 lsb output capacitance 5 pf residual phase noise @ 1 khz offset, 20 mhz a out refclk multiplier disabled ?152 dbc/hz enabled @ 20 ?140 dbc/hz enabled @ 100 ?140 dbc/hz voltage compliance range ?0.5 +0.5 v wideband sfdr see the typical performance characteristics section narrow-band sfdr 50.1 mhz analog output 500 khz C87 dbc 125 khz C87 dbc 12.5 khz C96 dbc 101.3 mhz analog output 500 khz C87 dbc 125 khz C87 dbc 12.5 khz C95 dbc
ad9910 rev. 0 | page 6 of 60 parameter conditions/comments min typ max unit 201.1 mhz analog output 500 khz C87 dbc 125 khz C87 dbc 12.5 khz C91 dbc 301.1 mhz analog output 500 khz C86 dbc 125 khz C86 dbc 12.5 khz C88 dbc 401.3 mhz analog output 500 khz C84 dbc 125 khz C84 dbc 12.5 khz C85 dbc serial port timing characteristics maximum sclk frequency 70 mbps minimum sclk clock pulse width low 4 ns high 4 ns maximum sclk rise/fall time 2 ns minimum data setup time to sclk 5 ns minimum data hold time to sclk 0 ns maximum data valid time in read mode 11 ns i/o_update/ps0/ps1/ps2 timing characteristics minimum pulse width high 1 sync_clk cycle minimum setup time to sync_clk 2 ns minimum hold time to sync_clk 0 ns tx_enable and 16-bit parallel (data) bus timing maximum pdclk frequency 250 mhz tx_enable/data setup time (to pdclk) 2 ns tx_enable/data hold time (to pdclk) 1 ns miscellaneous timing characteristics wake-up time 2 1 ms fast recovery 8 sysclk cycles full sleep mode 150 s minimum reset pulse width high 5 sysclk cycles 3 data latency (pipe_line delay) data latency, single tone or using profiles frequency, phase, amplitude-to-dac output matched latency enabled and osk enabled 91 sysclk cycles frequency, phase-to-dac output matched latency enabled and osk disabled 79 sysclk cycles matched latency disabled 79 sysclk cycles amplitude-to-dac output matched late ncy disabled 47 sysclk cycles data latency using ram mode frequency, phase-to-dac output matched latency enabled/disabled 94 sysclk cycles amplitude-to-dac output matched latency enabled 106 sysclk cycles matched latency disabled 58 sysclk cycles data latency, sweep mode frequency, phase-to-dac output matched latency enabled/disabled 91 sysclk cycles amplitude-to-dac output matched latency enabled 91 sysclk cycles matched latency disabled 47 sysclk cycles data latency, 16-bit input modulation mode frequency, phase-to-dac output matched latency enabled 103 sysclk cycles matched latency disabled 91 sysclk cycles
ad9910 rev. 0 | page 7 of 60 parameter conditions/comments min typ max unit cmos logic inputs logic 1 voltage 2.0 v logic 0 voltage 0.8 v logic 1 current 90 120 a logic 0 current 38 50 a input capacitance 2 pf cmos logic outputs 1 ma load logic 1 voltage 2.8 v logic 0 voltage 0.4 v power supply current iavdd (1.8 v) 110 ma iavdd (3.3 v) 29 ma idvdd (1.8 v) 222 ma idvdd (3.3 v) 11 ma total power consumption single tone mode 715 850 mw rapid power-down mode 330 400 mw full sleep mode 19 25 mw 1 the gain value for vco range se tting 5 is measured at 1000 mhz. 2 wake-up time refers to the recovery from analog power-down. the longest time required is for the reference clock multiplier pl l to relock to the reference. the wake- up time assumes there is no capacitor on dac_bp and that the recommended pll loop filter values are used. 3 sysclk cycle refers to the actual clock frequency used on-chip by the dds. if the reference clock multiplier is used to multip ly the external reference clock frequency, the sysclk frequency is the external frequency multiplied by the reference clock multiplication factor. if the reference clock multiplier is not used, the sysclk frequency is the same as the external reference clock frequency.
ad9910 rev. 0 | page 8 of 60 absolute maximum ratings table 2. parameter rating avdd (1.8 v), dvdd (1.8 v) supplies 2 v avdd (3.3 v), dvdd_i/o (3.3 v) supplies 4 v digital input voltage ?0.7 v to +4 v digital output current 5 ma storage temperature range ?65c to +150c operating temperature range ?40c to +85c ja 22c/w jc 2.8c/w maximum junction temperature 150c lead temperature (10 sec soldering) 300c stresses above those listed under absolute maximum ratings may cause permanent damage to the device. this is a stress rating only; functional operation of the device at these or any other conditions above those indicated in the operational section of this specification is not implied. exposure to absolute maximum rating conditions for extended periods may affect device reliability. equivalent circuits 06479-003 must terminate outputs to agnd for current flow. do not exceed the output voltage compliance rating. iout iout dac outputs avdd figure 3. equivalent input circuit avoid overdriving digital inputs. forward biasing esd diodes may couple digital noise onto power pins. digital inputs input dvdd_i/o 06479-055 figure 4. equivalent output circuit esd caution
ad9910 rev. 0 | page 9 of 60 pin configuration and fu nction descriptions 26 27 28 29 30 55 54 53 52 51 tqfp-100 (e_pad) top view (not to scale) ad9910 d14 d13 dvdd_i/o (3.3v) dgnd dvdd (1.8v) 5 4 3 2 7 6 9 8 1 11 10 16 15 14 13 18 17 20 19 22 21 12 24 23 25 32 33 34 35 36 38 39 40 41 42 43 44 45 46 47 48 49 50 31 37 d12 d11 d10 d9 d8 d7 d6 d5 d4 pdclk txenable dgnd d3 d2 d1 dvdd_i/o (3.3v) dvdd (1.8v) d0 f1 f0 80 iout 79 agnd 78 agnd 77 avdd (3.3v) 76 avdd (3.3v) 75 avdd (3.3v) 74 avdd (3.3v) 73 agnd 72 nc 71 i/o_reset 70 cs 69 sclk 68 sdo 67 sdio 66 dvdd_i/o (3.3v) 65 dgnd 64 dvdd (1.8v) 63 drhold 62 drctl 61 drover 60 osk 59 i/o_update 58 dgnd 57 dvdd (1.8v) 56 dvdd_i/o (3.3v) sync_clk profile0 profile1 profile2 dgnd 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 nc nc nc nc agnd xtal_sel refclk_out nc avdd (1.8v) ref_clk ref_clk avdd (1.8v) agnd nc nc agnd dac_rset avdd (3.3v) agnd iout nc pll_loop_filter avdd (1.8v) agnd agnd avdd (1.8v) sync_in+ sync_in? sync_out+ sync_out? dvdd_i/o (3.3v) sync_smp_err dgnd master_reset dvdd_i/o (3.3v) dgnd dvdd (1.8v) ext_pwr_dwn pll_lock nc dvdd_i/o (3.3v) dgnd dvdd (1.8v) ram_swp_ovr d15 06479-004 pin 1 indicator nc = no connect figure 5. pin configuration
ad9910 rev. 0 | page 10 of 60 table 3. pin function descriptions pin no. mnemonic i/o 1 description 1, 20, 72, 86, 87, 93, 97 to 100 nc not connected. allow device pins to float. 2 pll_loop_filter i pll loop filter compensation pin. see the external pll loop filter components section for details. 3, 6, 89, 92 avdd (1.8v) analog core vdd, 1.8 v analog supplies. 74 to 77, 83 avdd (3.3v) analog dac vdd, 3.3 v analog supplies. 17, 23, 30, 47, 57, 64 dvdd (1.8v) digital core vdd, 1.8 v digital supplies. 11, 15, 21, 28, 45, 56, 66 dvdd_i/o (3.3v) digital input/o utput vdd, 3.3 v digital supplies. 4, 5, 73, 78, 79, 82, 85, 88, 96 agnd analog ground. 13, 16, 22, 29, 46, 51, 58, 65 dgnd digital ground. 7 sync_in+ i synchronization signal, digital input (rising edge active). the synchronization signal from the external master to synchronize internal subclocks. see the synchronization of multiple devices section for details. 8 sync_in? i synchronization signal, digital input (rising edge active). the synchronization signal from the external master to synchronize internal subclocks. see the synchronization of multiple devices section for details. 9 sync_out+ o synchronization signal, digital output (rising edge active). the synchronization signal from the internal device subclocks to synchronize external slave devices. see the synchronization of multiple devices section for details. 10 sync_out? o synchronization signal, digital output (rising edge active). the synchronization signal from the internal device subclocks to synchronize external slave devices. see the synchronization of multiple devices section for details. 12 sync_smp_err o synchronization sample error, digital output (active high). sync sample error: a high on this pin indicates that the ad9910 did not receiv e a valid sync signal on sync_in+/sync_in?. 14 master_reset i master reset, digital input (active high). master reset: clears all memory elements and sets registers to default values. 18 ext_pwr_dwn i external power-down, digital input (active high). a high level on this pin initiates the currently programmed power-down mode. see the power-down control section of this document for further details. if unused, connect to ground. 19 pll_lock o clock multiplier pll lock, digital output (activ e high). a high on this pin indicates the clock multiplier pll has acquired lo ck to the reference clock input. 24 ram_swp_ovr o ram sweep over, digital output (active high). a high on this pin indicates the ram sweep profile has completed. 25 to 27, 31 to 39, 42 to 44, 48 d<15:0> i parallel input bus (active high). 49, 50 f<1:0> i modulation format pin. digita l input to determine the modulation format. 40 pdclk o parallel data clock. this is the digital output (clock). the pa rallel data clock provides a timing signal for aligning data at the parallel inputs. 41 txenable i transmit enable. digital input (active high). in burst mode communications, a high on this pin indicates new data for transmission. in continuous mode, this pin remains high. 52 to 54 profile<2:0> i profile select pins. digital inputs (active high). use these pins to select one of eight phase/frequency profiles for the dds. changing the state of one of these pins transfers the current contents of all i/o buffers to the corr esponding registers. state changes should be set up on the sync_clk pin. 55 sync_clk o output clock divided-by-four. a digital output (clock). many of the digital inputs on the chip, such as i/o_update and profile<2:0> need to be set up on the rising edge of this signal.
ad9910 rev. 0 | page 11 of 60 pin no. mnemonic i/o 1 description 59 i/o_update i input/output update. digital input (active high). a high on this pin transfers the contents of the i/o buffers to the corresponding internal registers. 60 osk i output shift keying. digital input (active high). when the osk features are placed in either manual or automatic mode, this pin controls th e osk function. in manual mode, it toggles the multiplier between 0 (low) and the prog rammed amplitude scale factor (high). in automatic mode, a low sweeps the amplitude down to zero, a high sweeps the amplitude up to the amplitude scale factor. 61 drover o digital ramp over. digital output (active high). this pin switches to logic 1 whenever the digital ramp generator reaches it s programmed upper or lower limit. 62 drctl i digital ramp control. digital input (active high). this pin controls the slope polarity of the digital ramp generator. see the digital ramp generator (drg) section for more details. if not using the digital ramp generator, connect this pin to logic 0. 63 drhold i digital ramp hold. digital input (active high). this pin stalls the digital ramp generator in its present state. see the digital ramp generator (drg) section for more details. if not using digital ramp generator, connect this pin to logic 0. 67 sdio i/o serial data input/output. digi tal input/output (active high). this pin can be either uni- directional or bidirectional (default), depending on the configuration settings. in bidirectional serial port mode, this pin acts as the serial da ta input and output. in unidirectional mode, it is an input only. 68 sdo o serial data output. digital outp ut (active high). this pin is only active in unidirectional serial data mode. in this mode, it functions as the output. in bidirectional mode, this pin is not operational and should be left floating. 69 sclk i serial data clock. digital clock (rising edge on write, falling edge on read). this pin provides the serial data clock for the control data path. write operations to the ad9910 use the rising edge. readback operations from the ad9910 use the falling edge. 70 cs i chip select. digital input (active low). this pin allows the ad9910 to operate on a common serial bus for the control data path. bringing this pin low enables the ad9910 to detect serial clock rising/falling edges. bringing th is pin high causes the ad9910 to ignore input on the serial data pins. 71 i/o_reset i input/output reset. digital inp ut (active high). this pin can be used when a serial i/o communication cycle fails (see the i/o_resetinput/output reset section for details). when not used, connect this pin to ground. 80 iout o open source dac complementary output source. analog output (cur rent mode). connect through a 50 resistor to agnd. 81 iout o open source dac output source. analog o utput (current mode). connect through a 50 resistor to agnd. 84 dac_rset o analog reference pin. this pin programs the dac output full-scale reference current. attach a 10 k resistor to agnd. 90 ref_clk i reference clock input. analog input. when the internal oscillator is engaged, this pin can be driven by either an external oscillator or connected to a crystal. see the ref_clk overview section for more details. 91 ref_clk i reference clock input. analog input. see the ref_clk overview section for more details. 94 refclk_out o crystal outp ut. analog output. see the ref_clk overview section for more details. 95 xtal_sel i crystal select. analog input (active high). driving the xtal_sel pin high, the avdd (1.8v) enables the internal oscillator to be used with a crystal resonator. if unused, connect it to agnd. 1 i = input, o = output.
ad9910 rev. 0 | page 12 of 60 typical performance characteristics ? 50 ?55 ?60 ?65 ?75 ?70 06479-034 sfdr (dbc) frequency out (mhz) sfdr without pll sfdr with pll 0 50 100 150 200 250 300 350 400 figure 6. wideband sfdr vs. output frequency (pll with reference clock = 15.625 64) 400 450 300250 350 200 150 100 50 0 06479-046 sfdr (dbc) frequency out (mhz) ?75 ?70 ?65 ?60 ?55 ? 45 ?50 low supply high supply figure 7. sfdr vs. supply (5%) 400 450 300 250 350 20015010050 0 06479-047 sfdr (dbc) frequency out (mhz) ?75 ?70 ?65 ?60 ?55 ? 50 ?40c +85c figure 8. sfdr vs. temperature start 0hz ? 100 ?90 ?80 ?70 ?60 ?50 ?40 ?30 ?20 ?10 0 50mhz/div stop 500mhz 06479-035 1 figure 9. wideband sfdr at 10 mhz 0 ?100 ?90 ?80 ?70 ?60 ?50 ?40 ?30 ?20 ?10 start 0hz 50mhz/div stop 500mhz 06479-036 1 figure 10. wideband sfdr at 204 mhz 06479-037 start 0hz ? 100 ?90 ?80 ?70 ?60 ?50 ?40 ?30 ?20 ?10 0 50mhz/div stop 500mhz 1 figure 11. wideband sfdr at 403 mhz
ad9910 rev. 0 | page 13 of 60 06479-038 center 10.32mhz ? 120 ? 108 ?96 ?84 ?72 ?60 ?48 ?36 ?24 ?12 0 2.5khz/div span 25khz 1 figure 12. narrow-band sfdr at 10.32 mhz 06479-039 center 204.36mhz ?120 ?108 ?96 ?84 ?72 ?60 ?48 ?36 ?24 ?12 0 2.5khz/div span 25khz 1 figure 13. narrow-band sfdr at 204.36 mhz 06479-040 center 403.78mhz ?120 ?108 ?96 ?84 ?72 ?60 ?48 ?36 ?24 ?12 0 2.5khz/div span 25khz 1 figure 14. narrow-band sfdr at 403.78 mhz ? 90 ?100 ?120 ?110 ?140 ?150 ?130 ?170 ?160 10 100 1k 10k 100k 100m 1m 10m 06479-042 magnitude (dbc/hz) frequency offset (hz) f out = 20.1mhz f out = 98.6mhz f out = 201.1mhz f out = 397.8mhz figure 15. residual phase noise plot, 1 ghz operation with pll disabled
ad9910 rev. 0 | page 14 of 60 ? 90 ?100 ?110 ?120 ?130 ?140 ?150 ?160 10 100 1k 10k 100k 1m 10m 100m 06479-043 magnitude (dbc/ hz) frequency offset (hz) f out = 20.1mhz f out = 397.8mhz f out = 98.6mhz f out = 201.1mhz 400 450 300 250 350 200 150 100 50 0 400 500 600 700 800 900 1000 06479-045 power dissipation (mw) system clock frequency (mhz) dvdd 1.8v avdd 1.8v avdd 3.3v dvdd 3.3v figure 16. residual phase noise, 1 ghz operation using a 50 mhz reference clock with 20 pll multiplier figure 18. power dissipation vs. system clock (pll enabled) 400 450 300 250 350 200 150 100 50 0 100 200 300 400 500 600 700 800 900 1000 06479-044 power dissipation (mw) system clock frequency (mhz) dvdd 3.3v avdd 3.3v avdd 1.8v dvdd 1.8v figure 17. power dissipation vs. system clock (pll disabled)
ad9910 rev. 0 | page 15 of 60 application circuits loop filter phase comparator vco ad9910 ref clk reference charge pump ad9510, ad9511, adf4106 06479-056 lpf figure 19. dds in pll feedback locking to referenc e offering fine frequency and delay adjust tuning ad9910 (slave 1) ad9910 (master) clock source ad9910 (slave 2) ad9910 (slave 3) fpga data sync_clk ref_clk sync_clk sync_clk fpga data fpga data data fpga sync_clk c1 s1 c2 s2 c3 s3 c4 s4 a1 a2 a4 a3 a_end central control ad9510 clock distributor with delay equalization sync_out ad9510 synchronization delay equalization 06479-058 figure 20. synchronizing multiple devices to increase channel capacity using the ad9510 as a clock distributor for the referenc e and synchronization clock ad9910 ref cl k n programmable 1 to 32 divider and delay adjust clock output selection(s) n = dependant on product selection. ad9515 ad9514 ad9513 ad9512 lvpecl lvds cmos ch 2 06479-057 lpf figure 21. clock generation circuit using th e ad951x series of clock distribution chips
ad9910 rev. 0 | page 16 of 60 theory of operation the ad9910 has four modes of operation: ? single tone ? ram modulation ? digital ramp modulation ? parallel data port modulation the modes relate to the data source used to supply the dds with its signal control parameters: frequency, phase, or ampli- tude. the partitioning of the data into different combinations of frequency, phase, and amplitude is handled automatically based on the mode and/or specific control bits. in single tone mode, the dds signal control parameters come directly from the programming registers associated with the serial i/o port. in ram modulation mode, the dds signal control parameters are stored in the internal ram and played back upon command. in digital ramp modulation mode, the dds signal control parameters are delivered by a digital ramp generator. in parallel data port modulation mode, the dds signal control parameters are driven directly into the parallel port. the various modulation modes generally operate on only one of the dds signal control parameters (two in the case of the polar modulation format). the unmodulated dds signal control parameters are stored in their appropriate programming registers and automatically route to the dds based on the selected mode. a separate output shift keying (osk) function is also available. this function employs a separate digital linear ramp generator that only affects the amplitude parameter of the dds. the osk function has priority over the other data sources that can drive the dds amplitude parameter. as such, no other data source can drive the dds amplitude when the osk function is enabled. although the various modes (including the osk function) are described independently, they can be enabled simultaneously. this provides an unprecedented level of flexibility for generating complex modulation schemes. however, to avoid multiple data sources from driving the same dds signal control parameter, the device has a built-in priority protocol (see table 5 in the mode priority section). single tone mode in single tone mode, the dds signal control parameters are supplied directly from the programming registers. a profile is an independent register that contains the dds signal control parameters. eight profile registers are available. each profile is independently accessible. use the three external profile pins (profile<2:0>) to select the desired profile. a change in the state of the profile pins with the next rising edge on sync_clk updates the dds with the parameters specified by the selected profile. 06479-005 16 parallel input pdclk sclk sdio i/o_reset profile i/o_update ram power down control ext_pwr_dwn dac_rset iout iout cs txenable dac fsc osk a inverse sinc filter clock amplitude (a) frequency ( ) phase ( ) digital ramp generator 8 dac fsc 8 2 2 multichip synchronization sysclk pll 2 clock mode ref_clk ref_clk refclk_out xtal_sel parallel data timing and control serial i/o port 2 ad9910 programming registers output shift keying data route and partition control 3 internal clock timing and control acos ( t+ ) asin ( t+ ) sync_smp_err sync_out sync_in pll_lock pll_loop_filter master_reset 2 2 aux dac 8-bit dac 14-bit dds ram_swp_ovr drctl drhold drover sync_clk figure 22. single tone mode
ad9910 rev. 0 | page 17 of 60 ram modulation mode the ram modulation mode (see figure 23 ) is activated via the ram enable bit and assertion of the i/o_update pin (or a profile change). in this mode, the modulated dds signal control parameters are supplied directly from ram. the ram consists of 32-bit words and is 1024 words deep. coupled with a sophisticated internal state machine, the ram provides a very flexible method for generating arbitrary, time dependent waveforms. a programmable timer controls the rate at which words are extracted from the ram for delivery to the dds. thus, the programmable timer establishes a sample rate at which 32-bit samples are supplied to the dds. the selection of the specific dds signal control parameters that serve as the destination for the ram samples is also programmable through eight independent ram profile registers. select a par- ticular profile using the three external profile pins (profile<2:0>). a change in the state of the profile pins with the next rising edge on sync_clk activates the selected ram profile. in ram modulation mode, the ability to generate a time dependent amplitude, phase, or frequency signal enables modulation of any one of the parameters controlling the dds carrier signal. furthermore, a polar modulation format is available that partitions each ram sample into a magnitude and phase component; 16 bits allocated to phase and 14 bits allocated to magnitude. 06479-006 16 parallel input pdclk sclk sdio i/o_reset profile i/o_update ram power down control ext_pwr_dwn dac_rset iout iout cs txenable dac fsc osk a inverse sinc filter clock amplitude (a) frequency ( ) phase ( ) digital ramp generator 8 dac fsc 8 2 2 multichip synchronization sysclk pll 2 clock mode ref_clk ref_clk refclk_out xtal_sel parallel data timing and control serial i/o port 2 ad9910 programming registers output shift keying data route and partition control 3 internal clock timing and control acos ( t+ ) asin ( t+ ) sync_smp_err sync_out sync_in pll_lock pll_loop_filter master_reset 2 2 dds aux dac 8-bit dac 14-bit ram_swp_ovr drctl drhold drover sync_clk figure 23. ram modulation mode
ad9910 rev. 0 | page 18 of 60 digital ramp modulation mode in digital ramp modulation mode ( figure 24 ), the modulated dds signal control parameter is supplied directly from the digital ramp generator (drg). the ramp generation parameters are controlled through the serial i/o port. the ramp generation parameters allow the user to control both the rising and falling slopes of the ramp. the upper and lower boundaries of the ramp, the step size and step rate of the rising portion of the ramp, and the step size and step rate of the falling portion of the ramp are all programmable. the ramp is digitally generated with 32-bit output resolution. the 32-bit output of the drg can be programmed to represent frequency, phase, or amplitude. when programmed to represent frequency, all 32 bits are used. however, when programmed to represent phase or amplitude, only the 16 msbs or 14 msbs, respectively, are used. the ramp direction (rising or falling) is externally controlled by the drctl pin. an additional pin (drhold) allows the user to suspend the ramp generator in its present state. 06479-007 16 parallel input pdclk sclk sdio i/o_reset profile i/o_update ram power down control ext_pwr_dwn dac_rset iout iout cs txenable dac fsc osk a inverse sinc filter clock amplitude (a) frequency ( ) phase ( ) digital ramp generator 8 dac fsc 8 2 2 multichip synchronization sysclk pll 2 clock mode ref_clk ref_clk refclk_out xtal_sel parallel data timing and control serial i/o port 2 ad9910 programming registers output shift keying data route and partition control 3 internal clock timing and control acos ( t+ ) asin ( t+ ) sync_smp_err sync_out sync_in pll_lock pll_loop_filter master_reset 2 2 dds aux dac 8-bit dac 14-bit ram_swp_ovr drctl drhold drover sync_clk figure 24. digital ramp modulation mode
ad9910 rev. 0 | page 19 of 60 parallel data port modulation mode in parallel data port modulation mode ( figure 25 ), the modulated dds signal control parameter(s) are supplied directly from the 18-bit parallel data port. the data port is partitioned into two sections. the 16 msbs make up a 16-bit data-word (d<15:0> pins) and the 2 lsbs make up a 2-bit destination word (f<1:0> pins). the destination word defines how the 16-bit data-word is applied to the dds signal control parameters. tabl e 4 defines the relationship between the destination bits, the partitioning of the 16-bit data-word, and the destination of the data (in terms of the dds signal control parameters). formatting of the 16-bit data-word is unsigned binary, regardless of the destination. when the destination bits indicate that the data-word is destined as a dds frequency parameter, the 16-bit data-word serves as an offset to the 32-bit frequency tuning word in the ftw register. this means that the 16-bit data-word must somehow be properly aligned with the 32-bit frequency parameter. this is accomplished by means of the 4-bit fm gain word in the programming registers. the fm gain word allows the user to apply a weighting factor to the 16-bit data-word. in the default state (0), the 16-bit data-word and the 32-bit word in the ftw register are lsb aligned. each increment in the value of the fm gain word shifts the 16-bit data-word to the left relative to the 32-bit word in the ftw register, increasing the influence of the 16-bit data-word on the frequency defined by the ftw register by a factor of two. the fm gain word effectively controls the frequency range spanned by the data-word. parallel data clock (pdclk) the ad9910 generates a clock signal on the pdclk pin that runs at ? of the dac sample rate (the sample rate of the par- allel data port). pdclk serves as a data clock for the parallel port. by default, each rising edge of pdclk is used to latch the 18 bits of user-supplied data into the data port. the edge polarity can be changed through the pdclk invert bit. furthermore, the pdclk output signal can be switched off using the pdclk enable bit. however, even though the output signal is switched off, it continues to operate internally using the internal pdclk timing to capture the data at the parallel port. note that pdclk is logic 0 when disabled. 06479-008 16 parallel input pdclk sclk sdio i/o_reset profile i/o_update ram power down control ext_pwr_dwn dac_rset iout iout cs txenable dac fsc osk a inverse sinc filter clock amplitude (a) frequency ( ) phase ( ) digital ramp generator 8 dac fsc 8 2 2 multichip synchronization sysclk pll 2 clock mode ref_clk ref_clk refclk_out xtal_sel parallel data timing and control serial i/o port 2 ad9910 programming registers output shift keying data route and partition control 3 internal clock timing and control acos ( t+ ) asin ( t+ ) sync_smp_err sync_clk sync_out sync_in pll_lock pll_loop_filter master_reset 2 2 dds aux dac 8-bit dac 14-bit ram_swp_ovr drctl drhold drover sync_clk figure 25. parallel data port modulation mode
ad9910 rev. 0 | page 20 of 60 table 4. parallel port destination bits f<1:0> d<15:0> parameter(s) comments 00 d<15:2> 14-bit amplitude parameter (unsigned integer) amplitude scales from 0 to 1 ? 2 ?14 . d<1:0> are not used. 01 d<15:0> 16-bit phase parameter (unsigned integer) phase offset ranges from 0 to 2 (1 ? 2 ?16 ) radians. 10 d<15:0> 32-bit frequency parameter (unsigned integer) the alignment of the 16-bit data-word with the 32-bit frequency parameter is controlled by a 4-bit fm gain word in the programming registers. 11 d<15:8> 8-bit amplitude (unsigned integer) the msb of the data-word amplitude aligns with the msb of the dds 14-bit amplitude parameter. the 6 lsbs of the dds amplitude parameter are assigned from bits<5:0> of the asf register. the resulting 14-bit word scales the amplitude from 0 to 1 ? 2 ?14 . d<7:0> 8-bit phase (unsigned integer) the msb of the data-word phase aligns with the msb of the 16-bit phase parameter of the dds. the 8 lsbs of the dds phase parameter are assigned from bits<7:0> of the pow register. the resulting 16-bit word offsets the phase from 0 to 2 (1 ? 2 ?16 ) radians. transmit enable (txenable) the ad9910 also accepts a user generated signal applied to the txenable pin that acts as a gate for the user supplied data. by default, txenable is considered true for logic 1 and false for logic 0. however, the logical behavior of this pin can be reversed using the txenable invert bit. when txenable is true, the device latches data into the device on the expected edge of pdclk (based on the pdclk invert bit). when txenable is false, even though the pdclk may continue to operate, the device ignores the data supplied to the port. furthermore, when the txenable pin is held false, then the device internally clears the 18-bit data-words, or it retains the last value present on the data port prior to txenable switching to the false state (based on the setting of the data assembler hold last value bit). alternatively, instead of operating the txenable pin as a gate, it can be driven with a clock signal operating at the parallel port data rate. when driven by a clock signal, the transition from the false to true state must meet the required setup and hold time on each cycle to ensure proper operation. the txenable and pdclk timing is shown in figure 26 . 0 6479-009 false true txenable (burst) txenable (clock) word 1 word 2 word 3 word 4 word n?4 word n pdclk parallel data port t ds t ds t dh t dh figure 26. pdclk and tx enable timing diagram
ad9910 rev. 0 | page 21 of 60 mode priority the three different modulation modes generate frequency, phase, and/or amplitude data destined for the dds signal control parameters. in addition, the osk function generates amplitude data destined for the dds. each of these functions is independently invoked using the appropriate control bit via the serial i/o port. the ability to independently activate each of these functions makes it possible to have multiple data sources attempting to drive the same dds signal control parameter. to avoid con- tention, the ad9910 has a built-in priority system. table 5 summarizes the priority for each of the dds signal control parameters. the rows of the table list data sources for a particular dds signal control parameter in descending order of precedence. for example, if both the ram and the parallel port are enabled and both are programmed for frequency as the destination, then the dds frequency parameter is driven by the ram and not the parallel data port. table 5. data source priority dds signal control parameters frequency phase amplitude priority data source conditions data source conditions data source conditions highest priority ram ram enabled and data destination is frequency ram ram enabled and data destination is phase or polar osk generator osk enabled (auto mode) drg drg enabled and data destination is frequency drg drg enabled and data destination is phase asf register osk enabled (manual mode) parallel data port + ftw register parallel data port enabled and data destination is frequency parallel data port parallel data port enabled and data destination is phase ram ram enabled and data destination is amplitude or polar ftw register ram enabled and data destination is phase, amplitude or polar parallel data port concatenated with the pow register lsbs parallel data port enabled and data destination is polar drg drg enabled and data destination is amplitude ftw in active single tone profile register drg enabled and data destination is phase or amplitude pow register ram enabled and destination is frequency or amplitude parallel data port parallel data port enabled and data destination is amplitude ftw in active single tone profile register parallel data port enabled and data destination is phase, amplitude or polar pow in active single tone profile register drg enabled and data destination is frequency or amplitude parallel data port concatenated with the asf register lsbs parallel data port enabled and data destination is polar ftw in active single tone profile register none pow in active single tone profile register parallel data port enabled and data destination is frequency or amplitude asf in active single tone profile register enable amplitude scale from single tone profiles bit cfr2<24> set lowest priority pow in active single tone profile register none no amplitude scaling none
ad9910 rev. 0 | page 22 of 60 functional block detail dds core the direct digital synthesizer (dds) block generates a reference signal (sine or cosine based on the selected dds sine output bit). the parameters of the reference signal (frequency, phase, and amplitude) are applied to the dds at its frequency, phase offset, and amplitude control inputs, as shown in figure 27 . 06479-010 dds_clk 32 19 frequency control angle to amplitude conversion (sine or cosine) phase offset control to dac (msbs) dq r accumulator reset 32 16 msb aligned amplitude control 14 dds signal control parameters 16 14 19 32 32 14 14 32-bit accumulator figure 27. dds block diagram the output frequency (f out ) of the ad9910 is controlled by the frequency tuning word (ftw) at the frequency control input to the dds. the relationship between f out , ftw, and f sysclk is given by sysclk out f ftw f ? ? ? ? ? ? = 32 2 (1) where ftw is a 32-bit integer ranging in value from 0 to 2,147,483,647 (2 31 ? 1), which represents the lower half of the full 32-bit range. this range constitutes frequencies from dc to nyquist (that is, ? f sysclk ). the ftw required to generate a desired value of f out is found by solving equation 1 for ftw as given in equation 2 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? = sysclk out f f round ftw 32 2 (2) where the round(x) function rounds the argument (the value of x) to the nearest integer. this is required because the ftw is constrained to be an integer value. for example, for f out = 41 mhz and f sysclk = 122.88 mhz, then ftw = 1,433,053,867 (0x556aaaab). programming an ftw greater than 2 31 produces an aliased image that appears at a frequency given by sysclk out f ftw f ? ? ? ? ? ? ?= 32 2 1 (for ftw 2 31 ) the relative phase of the dds signal can be digitally controlled by means of a 16-bit phase offset word (pow). the phase offset is applied prior to the angle-to-amplitude conversion block internal to the dds core. the relative phase offset (?) is given by ? ? ? ? ? ? ? ? ? ? ? ? = 16 16 2 360 2 2 pow pow where the upper quantity is for the phase offset expressed as radian units and the lower quantity as degrees. to find the pow value necessary to develop an arbitrary ?, solve the above equation for pow and round the result (in a manner similar to that described for finding an arbitrary ftw in the previous paragraphs). the relative amplitude of the dds signal can be digitally scaled (relative to full scale) by means of a 14-bit amplitude scale factor (asf). the amplitude scale value is applied at the output of the angle-to-amplitude conversion block internal to the dds core. the amplitude scale is given by ? ? ? ? ? ? = 14 14 2 log20 2 asf asf scale amplitude (3) where the upper quantity is amplitude expressed as a fraction of full scale and the lower quantity is expressed in decibels relative to full scale. to find the asf value necessary for a particular scale factor, solve equation 3 for asf and round the result (in a manner similar to that described for finding an arbitrary ftw in the previous paragraphs). when the ad9910 is programmed to modulate any of the dds signal control parameters, the maximum modulation sample rate is ? f sysclk . this means that the modulation signal exhibits images about multiples of ? f sysclk . the impact of these images must be considered when using the device as a modulator. 14-bit dac output the ad9910 incorporates an integrated 14-bit, current output dac. the output current is delivered as a balanced signal using two outputs. the use of balanced outputs reduces the potential amount of common-mode noise present at the dac output, offering the advantage of an increased signal-to-noise ratio. an external resistor (r set ) connected between the dac_rset pin and agnd establishes the reference current. the full-scale output current of the dac (i out ) is produced as a scaled version of the reference current (see the auxiliary dac section). the recommended value of r set is 10 k. attention should be paid to the load termination to keep the output voltage within the specified compliance range; voltages developed beyond this range cause excessive distortion and can damage the dac output circuitry.
ad9910 rev. 0 | page 23 of 60 auxiliary dac an 8-bit auxiliary dac controls the full-scale output current of the main dac (i out ). an 8-bit code word stored in the appropriate register map location sets i out according to the following equation: ? ? ? ? ? ? += 96 1 4.86 code r i set out where r set is the value of the r set resistor (in ohms) and code is the 8-bit value supplied to the auxiliary dac (default is 127). for example, with r set = 10,000 and code = 127, then i out = 20.07 ma. inverse sinc filter the sampled carrier data stream is the input to the digital-to- analog converter (dac) integrated onto the ad9910. the dac output spectrum is shaped by the characteristic sin(x)/x (or sinc) envelope, due to the intrinsic zero-order hold effect associated with dac generated signals. the sinc enveloped can be compensated for because its shape is well known. this envelope restoration function is provided by the inverse sinc filter preceding the dac. the inverse sinc filter is implemented as a digital fir filter. it has a response characteristic that very nearly matches the inverse of the sinc envelope. the response of the inverse sinc filter is shown in figure 28 (with the sinc envelope for comparison). the inverse sinc filter is enabled using a bit in the register map. the filter tap coefficients are given in tabl e 6 . the filter operates by predistorting the data prior to its arrival at the dac in such a way as to compensate for the sinc envelope that otherwise distorts the spectrum. when the inverse sinc filter is enabled, it introduces an ~3.0 db insertion loss. the inverse sinc compensation is effective for output frequencies up to approximately 40% of the dac sample rate. table 6. inverse sinc fi lter tap coefficients tap no. tap value 1, 7 ?35 2, 6 +134 3, 5 ?562 4 +6729 in figure 28 , the sinc envelope introduces a frequency dependent attenuation that can be as much as 4 db at the nyquist frequency (? of the dac sample rate). without the inverse sinc filter, the dac output suffers from the frequency dependent droop of the sinc envelope. the inverse sinc filter effectively flattens the droop to within 0.05 db as shown in figure 29 , showing the corrected sinc response with the inverse sinc filter enabled. 1 0 ?1 ?2 ?3 ?4 0 0.1 0.2 0.4 0.3 0.5 06479-011 (db) frequency relative to dac sample rate inverse sinc sinc figure 28. sinc and inverse sinc responses ? 2.8 ?2.9 ?3.0 ?3.1 0 0.1 0.2 0.4 0.3 0.5 06479-012 (db) frequency relative to dac sample rate compensated response figure 29. dac response with inverse sinc compensation clock input (ref_clk) ref_clk overview the ad9910 supports a number of options for producing the internal sysclk signal (that is, the dac sample clock) via the ref_clk input pins. the ref_clk input can be driven directly from a differential or single-ended source, or it can accept a crystal connected across the two input pins. there is also an internal phase-locked loop (pll) multiplier that can be independently enabled. a block diagram of the ref_clk functionality is shown in figure 30 . the various input configu- rations are controlled by means of the xtal_sel pin and control bits in the cfr3 register. figure 30 also shows how the cfr3 control bits are associated with specific functional blocks.
ad9910 rev. 0 | page 24 of 60 ref_clk ref_clk pll vco select divide charge pump out in pll_loop_filter enable pll_loop_filter drv0 cfr3 <31:30> refclk_out xtal_sel refclk input select logic sysclk i cp cfr3 <21:19> n cfr3 <7:1> vco cfr3 <26:24> 2 input divider bypass cfr3<15> pll enable cfr3 <8> input divider resetb cfr3<14> 94 95 2 90 91 0 1 0 1 2 2 7 3 0 1 06479-013 figure 30. ref_clk block diagram the pll enable bit is used to choose between the pll path or the direct input path. when the direct input path is selected, the ref_clk pins must be driven by an external signal source (single-ended or differential). input frequencies up to 2 ghz are supported. for input frequencies greater than 1 ghz, the input divider must be enabled for proper operation of the device. when the pll is enabled, a buffered clock signal is available at the refclk_out pin. this clock signal is the same frequency as the ref_clk input. this is especially useful when a crystal is connected, because it gives the user a replica of the crystal clock for driving other external devices. the refclk_out buffer is controlled by two bits as listed in table 7 . table 7. refclk_out buffer control cfr3<31:30> refclk_out buffer 00 disabled (tristate) 01 low output current 10 medium output current 11 high output current crystal driven ref_clk when using a crystal at the ref_clk input, the resonant frequency should be approximately 25 mhz. figure 31 shows the recommended circuit configuration. 06479-014 ref_clk ref_clk 39pf 39pf xtal 90 91 figure 31. crystal connection diagram direct driven ref_clk when driving the ref_clk inputs directly from a signal source either single-ended or differential signals can be used. with a differential signal source, the ref_clk pins are driven with complementary signals and ac-coupled with 0.1 f capacitors. with a single-ended signal source, either a single- ended to differential conversion can be employed or the ref_clk input can be driven single-ended directly. in either case, 0.1 f capacitors are used to ac couple both ref_clk pins to avoid disturbing the internal dc bias voltage of ~1.35 v. see figure 32 for more details. the ref_clk input resistance is ~2.5 k differential (~1.2 k single-ended). most signal sources have relatively low output impedances. the ref_clk input resistance is relatively high, therefore, its effect on the termination impedance is negligible and can usually be chosen to be the same as the output impedance of the signal source. the bottom two examples in figure 32 assume a signal source with a 50 output impedance. 06479-015 termination ref_clk differential source, differential input. single-ended source, differential input. single-ended source, single-ended input. 90 91 0.1 f 0.1f pecl, lvpecl, or lvds driver ref_clk 90 91 50 ? 0.1f 0.1f balun (1:1) ref_clk ref_clk ref_clk ref_clk 90 91 0.1f 0.1f 50 ? figure 32. direct connection diagram phase-locked loop (pll) multiplier an internal phase-locked loop (pll) provides users of the ad9910 the option to use a reference clock frequency that is significantly lower than the system clock frequency. the pll supports a wide range of programmable frequency multiplica- tion factors (12 to 127) as well as a programmable charge pump current and external loop filter components (connected via the pll_loop_filter pin). these features add an extra layer of flexibility to the pll, allowing optimization of phase noise performance and flexibility in frequency plan develop- ment. the pll is also equipped with a pll_lock pin. the pll output frequency range (f sysclk ) is constrained to the range of 420 mhz f sysclk 1 ghz by the internal vco. in addition, the user must program the vco to one of six operating
ad9910 rev. 0 | page 25 of 60 ranges such that f sysclk falls within the specified range. figure 33 and figure 34 summarize these vco ranges. figure 33 shows the boundaries of the vco frequency ranges over the full range of temperature and supply voltage variation for all devices from the available population. the implication is that multiple devices chosen at random from the population and operated under widely varying conditions may require different values to be programmed into cfr3<26:24> to operate at the same frequency. for example, part a chosen randomly from the population, operating in an ambient temperature of ?10c with a system clock frequency of 900 mhz may require cfr3<26:24> to be set to 100b. whereas part b chosen randomly from the population, operating in an ambient temperature of 90c with a system clock frequency of 900 mhz may require cfr3<26:24> to be set to 101b. if a frequency plan is chosen such that the system clock frequency operates within one set of boundaries (as shown in figure 33 ), the required value in cfr3<26:24> is consistent from part to part. figure 34 shows the boundaries of the vco frequency ranges over the full range of temperature and supply voltage variation for an individual device selected from the population. figure 34 shows that the vco frequency ranges for a single device always overlap when operated over the full range of conditions. in conclusion, if a user wants to retain a single default value for cfr3<26:24>, a frequency that falls into one of the ranges found in figure 33 should be selected. additionally, for any given individual device the vco frequency ranges overlap, meaning that any given device exhibits no gaps in its frequency coverage across vco ranges over the full range of conditions. 06479-059 v co0 v co1 v co2 v co3 v co4 v co5 395 495 595 695 795 895 995 flow = 400 fhigh = 460 flow = 455 fhigh = 530 flow = 530 fhigh = 615 flow = 760 fhigh = 875 flow = 920 fhigh = 1030 flow = 650 fhigh = 790 (mhz) figure 33. vco ranges including atypical wafer process skew 335 435 535 635 735 835 935 1035 1135 v co0 v co1 v co2 v co3 v co4 v co5 06479-060 flow = 370 fhigh = 510 flow = 420 fhigh = 590 flow = 500 fhigh = 700 flow = 700 fhigh = 950 flow = 820 fhigh = 1150 flow = 600 fhigh = 880 (mhz) figure 34. typical vco ranges table 8. vco range bit settings vco sel bits (cfr3<26:24>) vco range 000 vco0 001 vco1 010 vco2 011 vco3 100 vco4 101 vco5 110 pll bypassed 111 pll bypassed pll charge pump the charge pump current (i cp ) is programmable to provide the user with additional flexibility to optimize the pll performance. tabl e 9 lists the bit settings vs. the nominal charge pump current. table 9. pll charge pump current i cp (cfr3<21:19>) charge pump current (i cp in a) 000 212 001 237 010 262 011 287 100 312 101 337 110 363 111 387 external pll loop filter components the pll_loop_filter pin provides a connection interface to attach the external loop filter components. the ability to use custom loop filter components gives the user more flexibility to optimize the pll performance. the pll and external loop filter components are shown in figure 35 .
ad9910 rev. 0 | page 26 of 60 pfd cp pll_loop_filter vco n pll out pll in avdd refclk pll 2 r1 c1 c2 06479-016 figure 35. refclk pll external loop filter in the prevailing literature, this configuration yields a third- order, type ii pll. to calculate the loop filter component values, begin with the feedback divider value (n), the gain of the phase detector (k d ), and the gain of the vco (k v ) based on the programmed vco sel bit settings (see tabl e 1 for k v ). the loop filter component values depend on the desired open-loop bandwidth (f ol ) and phase margin ( ), as follows: () ? ? ? ? ? ? ? ? + = kk nf r1 vd ol sin 1 1 (4) ( ) () 2 2 tan ol vd fn kk c1 = (5) () ( ) () ? ? ? ? ? ? ? ? ? = fn kk c2 ol vd cos sin1 2 2 (6) where: k d is equal to the programmed value of i cp . k v is taken from tabl e 1 . ensure that proper units are used for the variables in equation 4 through equation 6. i cp must be in amps, not a as appears in tabl e 9 ; k v must be in hz/v, not mhz/v as listed in tabl e 1 ; the loop bandwidth (f ol ) must be in hz; the phase margin () must be in radians. for example, suppose the pll is programmed such that i cp = 287 a, k v = 625 mhz/v, and n = 25. if the desired loop bandwidth and phase margin are 50 khz and 45, respectively, then the loop filter component values are r1 = 52.85 , c1 = 145.4 nf, and c2 = 30.11 nf. pll lock indication when the pll is in use, the pll_lock pin provides an active high indication that the pll has locked to the refclk input signal. when the pll is bypassed the pll_lock pin defaults to logic 0. output shift keying (osk) the osk function ( figure 36 ) allows the user to control the output signal amplitude of the dds. both a manual and an automatic mode are available under program control. the amplitude data generated by the osk block has priority over any other functional block that is programmed to deliver amplitude data to the dds. hence, the osk data source, when enabled, overrides all other amplitude data sources. 06479-017 osk enable amplitude scale factor (asf<15:2>) amplitude ramp rate (asf<31:16>) amplitude step size (asf<1:0>) manual osk external auto osk enable osk dds clock to dds amplitude control parameter 60 load arr at i/o_update osk controller 14 16 14 2 figure 36. osk block diagram the operation of the osk function is governed by four control register bits, the external osk pin, and the entire 32 bits of the asf register. the primary control for the osk block is the osk enable bit. when the osk function is disabled, the osk input controls are ignored and the internal clocks shut down. when the osk function is enabled, automatic and manual operation is selected using the select auto osk bit. manual osk in manual mode, output amplitude is varied by successive write operations to the amplitude scale factor portion of the asf register. the rate at which amplitude changes can be applied to the output signal is limited by the speed of the serial i/o port. in manual mode, the osk pin functionality depends on the state of the manual osk external bit. when the osk pin is logic 0, the output amplitude is forced to zero; otherwise, the output amplitude is set by the amplitude scale factor value. automatic osk in automatic mode, the osk function automatically generates a linear amplitude vs. time profile (or amplitude ramp). the amplitude ramp is controlled via three parameters: the maximum amplitude scale factor, the amplitude step size, and the time interval between steps. the amplitude ramp parameters reside in the 32-bit asf register and are programmed via the serial i/o port. the time interval between amplitude steps is set via the 16-bit amplitude ramp rate portion of the asf register (bits<31:16>). the maximum amplitude scale factor is set via the 14-bit amplitude scale factor in the asf register (bits<15:2>). the amplitude step size is set via the 2-bit amplitude step size portion of the asf register (bits<1:0>). additionally, the direction of the ramp (positive or negative slope) is controlled by the external osk pin.
ad9910 rev. 0 | page 27 of 60 the step interval is controlled by a 16-bit programmable timer that is clocked at a rate of ? f sysclk . the period of the timer sets the time interval between amplitude steps. the step time interval (t) is given by sysclk f m t 4 = where m is the 16-bit number stored in the amplitude ramp rate (arr) portion of the asf register. for example, if f sysclk = 750 mhz and m = 23218 (0x5ab2), then t 123.8293 s. the output of the osk function is a 14-bit unsigned data bus that controls the amplitude parameter of the dds (as long as the osk enable bit is set). when the osk pin is set, the osk output value starts at 0 (zero) and increments by the pro- grammed amplitude step size until it reaches the programmed maximum amplitude value. when the osk pin is cleared, the osk output starts at its present value and decrements by the programmed amplitude step size until it reaches 0 (zero). the osk output does not necessarily attain the maximum amplitude value if the osk pin is switched to logic 0 before the maximum value is reached. nor does the osk output necessarily reach a value of zero if the osk pin is switched to logic 1 before the zero value is reached. the osk output is initialized to 0 (zero) at power-up and reset whenever the osk enable bit or the select auto osk bit is cleared. the amplitude step size of the osk output is set by the amplitude step size bits in the asf register according to tabl e 10 . the step size refers to the lsb weight of the 14-bit osk output. regardless of the programmed step size, the osk output does not exceed the maximum amplitude value programmed into the asf register. table 10. osk amplitude step size asf<1:0> amplitude step size 00 1 01 2 10 4 11 8 as mentioned previously, a 16-bit programmable timer controls the step interval. normally, this timer is loaded with the programmed timing value whenever the timer expires, initiating a new timing cycle. however, there are three events that can cause reloading of the timer to have its timing value reloaded prior to the timer expiring. one such event is when the select auto osk bit is transitioned from cleared to set followed by an i/o update. a second such event is a change of state in the osk pin. the third is dependent on the status of the load arr @ i/o update bit. if this bit is cleared, then no action occurs, otherwise, when the i/o_update pin is asserted (or a profile change occurs), the timer is reset to its initial starting point. digital ramp generator (drg) drg overview to sweep phase, frequency, or amplitude from a defined start point to a defined endpoint, a completely digital, digital ramp generator is included in the ad9910. the drg makes use of nine control register bits, three external pins, two 64-bit registers, and one 32-bit register (see figure 37 ). digital ramp limit register drctl dds clock drhold drove r digital ramp rate register digital ramp step register 06479-018 to dds signal control parameter digital ramp enable drover pin active load lrr at i/o_update clear digital ramp accumulator autoclear digital ramp accumulator 64 64 digital ramp destination 2 digital ramp no-dwell 2 32 32 digital ramp generator 62 61 63 figure 37. digital ramp block diagram the primary control for the drg is the digital ramp enable bit. when disabled, the other drg input controls are ignored and the internal clocks are shut down to conserve power. the output of the drg is a 32-bit unsigned data bus that can be routed to any one of the three dds signal control parameters, as controlled by the two digital ramp destination bits in control function register 2 according to tabl e 11 . the 32-bit output bus is msb-aligned with the 32-bit frequency parameter, the 16-bit phase parameter, or the 14-bit amplitude parameter, as defined by the destination bits. when the destination is phase or amplitude, the unused lsbs are ignored. table 11. digital ramp destination digital ramp destination bits cfr2<21:20> dds signal control parameter bits assigned to dds parameter 00 frequency 31:0 01 phase 31:16 1x 1 amplitude 31:18 1 x = dont care. the ramp characteristics of the drg are fully programmable. this includes the upper and lower ramp limits, and independent control of the step size and step rate for both the positive and negative slope characteristics of the ramp. a detailed block diagram of the drg appears in figure 38 .
ad9910 rev. 0 | page 28 of 60 the direction of the ramping function is controlled by the drctl pin. a logic 0 on this pin causes the drg to ramp with a negative slope, whereas a logic 1 causes the drg to ramp with a positive slope. the drg also supports a hold feature controlled via the drhold pin. when this pin is logic 1, the drg is stalled at its last state, otherwise, the drg operates normally. the dds signal control parameters that are not the destination of the drg are taken from the active profile. dds clock dq r lower limit 0 1 decrement step size preset q drctl load clear digital ramp accumulator autoclear digital ramp acc . no dwell limit control digit a lr a mp a ccumul a tor increment step size 32 32 0 1 negative slope rate positive slope rate 16 16 32 16 62 drhold 63 32 32 load control logic load lrr at i/o_update digital ramp timer accumulator reset control logic no-dwell control 2 32 32 to dds signal control parameter upper limit 32 06479-019 figure 38. digital ramp generator detail
ad9910 rev. 0 | page 29 of 60 drg slope control the heart of the drg is a 32-bit accumulator clocked by a programmable timer. the time base for the timer is the dds clock, which operates at ? f sysclk . the timer establishes the interval between successive updates of the accumulator. the positive (+t) and negative (?t) slope step intervals are independently programmable as given by sysclk f p t 4 =+ sysclk f n t 4 =? where p and n are the two 16-bit values stored in the 32-bit digital ramp rate register and control the step interval. n defines the step interval of the negative slope portion of the ramp. p defines the step interval of the positive slope portion of the ramp. the step size of the positive and negative slope portions of the ramp are controlled by the 64-bit digital ramp step size register. the negative step size is programmed as a magnitude value (that is, an unsigned integer). the relationship between the step size (positive or negative) values and real units of frequency, phase, or amplitude depend on the digital ramp destination bits. the actual frequency, phase, or amplitude step size can be calculated using the following equations with m representing either n or p (for ?t and +t, respectively): sysclk f m step frequency ? ? ? ? ? ? = 32 2 ? ? ? ? ? ? = 15 2 m stepphase (radians) ? ? ? ? ? ? = 13 2 45 m stepphase (degrees) fs i m step amplitude ? ? ? ? ? ? = 18 2 note that the frequency units are the same as those used to represent f sysclk , and the amplitude units are the same as those used to represent i fs (the full-scale output current of the dac). the phase and amplitude step size equations yield the average step size. due to quantization effects, the actual step size may vary between the nearest destination lsb above and below the calculated average. as described previously, the step interval is controlled by a 16-bit programmable timer. there are three events that can cause this timer to be reloaded prior to its expiration. one event is when the digital ramp enable bit transitions from cleared to set followed by an i/o update. a second event is a change of state in the drctl pin. the third event is enabled using the load lrr @ i/o update bit (see details in the register map and bit descriptions section). drg limit control the ramp accumulator is followed by limit control logic that enforces an upper and lower boundary on the output of the ramp generator. under no circumstances does the output of the drg exceed the programmed limit values while the drg is enabled. the limits are set through the 64-bit digital ramp limit register. note that the upper limit value must be greater than the lower limit value to ensure normal operation. drg accumulator clear the ramp accumulator can be cleared (that is, reset to 0) under program control. when the ramp accumulator is cleared, it forces the drg output to the lower limit programmed into the digital ramp limit register. with the limit control block imbedded in the feedback path of the accumulator, resetting the accumulator is equivalent to presetting it to the lower limit value. normal ramp generation normal ramp generation implies that both no-dwell bits are cleared (see the no-dwell ramp generation section for details). in figure 39 , a sample ramp waveform is depicted with the required control signals. the top trace is the drg output. the next trace down is the status of the drover output pin (assuming that the drover pin active bit is set). the remaining traces are control bits and control pins. the pertinent ramp parameters are also identified (upper and lower limits plus step size and t for the positive and negative slopes). along the bottom, circled numbers identify specific events. these events are referred to by number (event 1 and so on) in the following paragraphs. in this particular example, the positive and negative slopes of the ramp are different to demonstrate the flexibility of the drg. the parameters of both slopes can be programmed to make the positive and negative slopes the same.
ad9910 rev. 0 | page 30 of 60 drg output lower limit upper limit drctl drhold autoclear digital ramp accumulator clear digital ramp accumulator i/o_update positive step size negative step size p dds clock cycles n dds clock cycles 1 dds clock cycle digital ramp enable drover 0 6479-020 clear release auto clear ? t + t 1 2 3 4 5 6 7 8 9 10 11 12 13 figure 39. normal ramp generation event 1the digital ramp enable bit is set, which has no affect on the drg because the bit is not effective until an i/o update. event 2an i/o update registers the enable bit. if drctl = 1 is in effect at this time (gray portion of drctl trace), then the drg output immediately begins a positive slope (gray portion of drg output trace). otherwise, if drctl = 0, the drg output is initialized to the lower limit. event 3drctl transitions to a logic 1 to initiate a positive slope at the drg output. in this example, the drctl pin is held long enough to cause the drg to reach its programmed upper limit. the drg remains at the upper limit until the ramp accumulator is cleared, drctl = 0, or the upper limit is reprogrammed to a higher value. in the last case, the drg immediately resumes its previous positive slope profile. event 4drctl transitions to a logic 0 to initiate a negative slope at the drg output. in this example, the drctl pin is held long enough to cause the drg to reach its programmed lower limit. the drg remains at the lower limit until drctl = 1, or the lower limit is reprogrammed to a lower value. in the latter case, the drg immediately resumes its previous negative slope profile. event 5drctl transitions to a logic 1 for the second time, initiating a second positive slope. event 6the positive slope profile is interrupted by drhold transitioning to a logic 1. this stalls the ramp accumulator and freezes the drg output at its last value. event 7drctl transitions to a logic 0, releasing the ramp accumulator and reinstating the previous positive slope profile. event 8the clear digital ramp accumulator bit is set, which has no affect on the drg because the bit is not effective until an i/o update. event 9an i/o update registers that the clear digital ramp accumulator bit is set, resetting the ramp accumulator and forcing the drg output to the programmed lower limit. the drg output remains at the lower limit until the clear condition is removed. event 10the clear digital ramp accumulator bit is cleared, which has no affect on the drg because the bit is not effective until an i/o update. event 11an i/o update registers that the clear digital ramp accumulator bit is cleared, releasing the ramp accumulator and the previous positive slope profile restarts. event 12the autoclear digital ramp accumulator bit is set, which has no affect on the drg because the bit is not effective until an i/o update. event 13an i/o update registers that the autoclear digital ramp accumulator bit is set, resetting the ramp accumulator. however, with an automatic clear, the ramp accumulator is only held reset for a single dds clock cycle. this forces the drg output to the lower limit, but the ramp accumulator is immediately made available for normal operation. in this example, the drctl pin remains a logic 1, so the drg output restarts the previous positive ramp profile.
ad9910 rev. 0 | page 31 of 60 no-dwell ramp generation the two no-dwell bits in control function register 2 add to the flexibility of the drg capabilities. during normal ramp generation, when the drg output reaches the programmed upper or lower limit, it simply remains at the limit until the operating parameters dictate otherwise. however, during no-dwell operation, the drg output does not necessarily remain at the limit. for example, if the digital ramp no-dwell high bit is set, when the drg reaches the upper limit it automatically (and immediately) snaps to the lower limit (that is, it does not ramp back to the lower limit, it jumps to the lower limit). likewise, when the digital ramp no-dwell low bit is set, when the drg reaches the lower limit it automatically (and immediately) snaps to the upper limit. during no-dwell operation, the drctl pin is monitored for state transitions only, that is, the static logic level is immaterial. during no-dwell high operation, a positive transition of the drctl pin initiates a positive slope ramp, which continues uninterrupted (regardless of any further activity on the drctl pin) until the upper limit is reached. during no-dwell low operation, a negative transition of the drctl pin initiates a negative slope ramp, which continues uninterrupted (regardless of any further activity on the drctl pin) until the lower limit is reached. setting both no-dwell bits invokes a continuous ramping mode of operation. that is, the drg output automatically oscillates between the two limits using the programmed slope parameters. furthermore, the function of the drctl pin is slightly different. instead of controlling the initiation of the ramp sequence, it only serves to change the direction of the ramp. that is, if the drg output is in the midst of a positive slope and drctl pin transitions from logic 1 to logic 0, then the drg immediately switches to the negative slope parameters and resumes oscilla- tion between the limits. likewise, if the drg output is in the midst of a negative slope and the drctl pin transitions from logic 0 to logic 1, the drg immediately switches to the positive slope parameters and resumes oscillation between the limits. when both no-dwell bits are set, the drover signal produces a positive pulse (two cycles of the dds clock) each time the drg output reaches either of the programmed limits (assuming that the drover pin active bit is set). a no-dwell high drg output waveform is shown in figure 40 . the waveform diagram assumes that the digital ramp no-dwell high bit is set and has been registered by an i/o update. the status of the drover pin is also shown with the assumption that the drover pin active bit has been set. upper limit p dds clock cycles 1 2 3 4 5 6 7 8 drg output lower limit drctl positive step size drover + t 06479-021 figure 40. no-dwell high ramp generation the circled numbers indicate specific events, which are explained as follows: event 1indicates the instant that an i/o update registers that the digital ramp enable bit has been set. event 2drctl transitions to a logic 1, initiating a positive slope at the drg output. event 3drctl transition to a logic 0, which has no effect on the drg output. event 4because the digital ramp no-dwell high bit is set, the moment that the drg output reaches the upper limit it immedi- ately switches to the lower limit, where it remains until the next logic 0 to logic 1 transition of drctl. event 5drctl transitions from logic 0 to logic 1, which restarts at positive slope ramp. event 6 and event 7drctl transitions are ignored until the drg output reaches the programmed upper limit. event 8because the digital ramp no-dwell high bit is set, the moment that the drg output reaches the upper limit it immediately switches to the lower limit, where it remains until the next logic 0 to logic 1 transition of drctl. operation with the digital ramp no-dwell low bit set (instead of the digital ramp no-dwell high bit) is similar, except that the drg output ramps in the negative direction on a logic 1 to logic 0 transition of drctl and jumps to the upper limit upon reaching the lower limit. drover pin the drover pin provides an external signal to indicate the status of the drg. the functionality of this pin is controlled by the drover pin active bit. when this bit is cleared (default), the drover pin is always logic 0 regardless of the status of the drg. when this bit is set, the drover pin logic level depends on the status of the drg. specifically, when the drg output is at either of the programmed limits, the drover pin is logic 1, otherwise, it is logic 0. in the special case of both no-dwell bits set, the drover pin pulses positive for two dds clock cycles each time the drg output reaches either of the programmed limits.
ad9910 rev. 0 | page 32 of 60 ram control ram overview the ad9910 makes use of a 1024 32-bit ram. the ram has two fundamental modes of operation: data entry/retrieve mode and playback mode. data entry/retrieve mode is active when the ram data is being loaded or read back via the serial i/o port. playback mode is active when the ram contents are routed to one of the internal data destinations. depending on the specific playback mode, the user can partition the ram with up to eight independent time domain waveforms. these waveforms drive the dds signal control parameters allowing for frequency, phase, amplitude, or polar modulated signals. ram operations are enabled by setting the ram enable bit in control function register 1; an i/o update (or a profile change) is necessary to enact any change to the state of this bit. waveforms are generated using eight ram profile registers that are accessed via the three profile pins. each profile contains the following: ? 10-bit waveform start address word ? 10-bit waveform end address word ? 16-bit address step rate control word ? 3-bit ram mode control word ? no-dwell high bit ? zero-crossing bit the user must ensure that the end address is greater than the start address. each profile defines the number of samples and the sample rate for a given waveform. in conjunction with an internal state machine, the ram contents are delivered to the appropriate dds signal control parameter(s) at the specified rate. further- more, the state machine can control the order in which samples are extracted from ram (forward/reverse), facilitating efficient generation of time symmetric waveforms. load/retrieve ram operation it is strongly recommended that ram enable = 0 when performing ram load/retrieve operations. loading or retrieving the contents of the ram requires a three-step process. 1. program the ram profile<0:7> registers with the start and end addresses that are to define the boundaries of each independent waveform. 2. drive the appropriate logic levels on the profile pins to select the desired ram profile. 3. write (or read) the address range specified by the selected ram profile via the serial port (see the serial programming section for details). figure 41 is a block diagram showing the functional components used for ram data load/retrieve operation. during ram load/retrieve operations, the state machine controls an up/down counter to step through the required ram loca- tions. the counter synchronizes wi th the serial i/o port so that the serial/parallel conversion of the 32-bit words is correctly timed with the generation of the appropriate ram address to properly execute the desired read or write operation. ram address data q sclk i/o_reset sdio cs profile waveform end address waveform start address address clock programming registers state machine up/down counter serial i/o port 2 32 10 10 u/d 3 06479-022 figure 41. ram data load/retrieve operation the ram profiles are completely independent; it is possible to define overlapping address ranges. doing so causes data that has been written to overlapped address locations to be overwritten by the most recent write operation. multiple waveforms can be loaded into ram by treating them as a single waveform, that is, a time-domain concatenation of all the waveforms. this is done by programming one of the ram profiles with a start and end address spanning the entire range of the concatenated waveforms. then the single concatenated waveform is written into ram via the serial i/o port using the same ram profile that was programmed with the start and end addresses. the ram profiles must then be programmed with the proper start and end addresses associated with each individual waveform . ram playback operation (waveform generation) when the ram has been loaded with the desired waveform data, it can then be used for waveform generation during playback. ram playback requires that ram enable = 1. to playback ram data select the desired waveform using the profile pins. the selected profile directs the internal state machine by defining the ram address range occupied by the waveform, the rate at which samples are to be extracted from the ram (playback rate), the mode of operation, and whether to use the no-dwell feature. figure 42 is a block diagram showing the functional components used for ram playback operation.
ad9910 rev. 0 | page 33 of 60 ram address data q profile dds clock ram profile registers state machine up/down counter 32 10 2 3 16 10 10 u/d 3 0 6479-023 waveform end address waveform start address address ramp rate no dwell ram mode to dds signal control parameter figure 42. ram playback operation during playback, the state machine uses an up/down counter to step through the specified address locations. the clock rate of this counter defines the playback rate; that is, the sample rate of the generated waveform. the clocking of the counter is controlled by a 16-bit programmable timer that is internal to the state machine. this timer is clocked by the dds clock and its time interval is set by the 16-bit address step rate value stored in the selected ram profile register. the address step rate value determines the playback rate. for example, if m is the 16-bit value of the address step rate for a specific ram profile, then the playback rate for that profile is given by m f m f rate playback sysclk ddsclock 4 = = the sample interval (t) associated with the playback rate, is therefore given by sysclk f m rate playback t 4 1 = = ram data entry/retrieval via the i/o port takes precedence over playback operation. an i/o operation targeting the ram during playback interrupts any waveform in progress. the 32-bit words output by the ram during playback route to the dds signal control parameters according to two ram playback destination bits in control function register 1. the 32-bit words are partitioned based on table 12 . table 12. ram playback destination ram playback destination bits cfr130:29 dds signal control parameter bits assigned to dds parameters 00 frequency 31:0 01 phase 31:16 10 amplitude 31:18 11 polar (phase and amplitude) phase<31:16> amplitude<15:2> when the destination is phase, amplitude, or polar the unused lsbs are ignored. the ram playback destination bits affect specific dds signal control parameters. the parameters that are not affected by the ram playback destination bits are controlled by the ftw, pow, and/or asf registers. ram_swp_ovr (ram sweep over) pin the ram_swp_ovr pin provides an active high external signal that indicates the end of a playback sequence. the operation of this pin varies with the ram operating mode as detailed in the following sections. when ram enable = 0, this pin is forced to a logic 0. overview of ram playback modes the ram can operate in any one of five different playback modes: ? direct switch ? ramp up ? bidirectional ramp ? continuous bidirectional ramp ? continuous recirculate the mode is selected via the 3-bit ram mode control word located in each of the ram profile registers. thus, the ram operating mode is profile dependent. the ram profile mode control bits are detailed in tabl e 13 . table 13. ram operating modes ram profile mode control bits ram operating mode 000, 101, 110, 111 direct switch 001 ramp up 010 bidirectional ramp 011 continuous bidirectional ramp 100 continuous recirculate ram direct switch mode in direct switch mode, the ram is not used as a waveform generator. instead, when a ram profile is selected via the profile pins only a single 32-bit word is routed to the dds to be applied to the signal control parameter(s). this 32-bit word is the data stored in the ram at the location given by the 10-bit waveform start address of the selected profile. in direct switch mode, the ram_swp_ovr pin is always logic 0 and the no-dwell high bit is ignored. direct switch mode enables up to eight-level fsk, psk, or ask modulation; the type of modulation is determined by the ram playback destination bits (frequency for fsk, and so on). each ram profile is associated with a specific value of frequency, phase, or amplitude. each unique waveform start address value in each ram profile allows access of the 32-bit word stored in that particular ram location. in this way, the profile pins implement the shift-keying function, modulating the dds output as desired.
ad9910 rev. 0 | page 34 of 60 note that two-level modulation can be accomplished by using only one of the three profile pins to toggle between two different parameter values. likewise, four-level modulation can be accomplished by using only two of the three profile pins. there is no restriction on which profile pins are used. ramp up timing diagram a graphic representation of the ramp up mode appears in figure 43 , showing both normal and no-dwell operation. the two upper traces show the progression of the ram address from the waveform start address to the waveform end address for the selected profile. the address value advances by one with each timeout of the timer internal to the state machine. the timer period (t) is determined by the address ramp rate value for the selected profile. the two upper traces are differentiated by the state of the no-dwell high bit. ram direct switch mode with zero-crossing the zero-crossing function (enabled with the zero-crossing bit) is a special feature that is only available in ram direct switch mode. the zero-crossing function is only valid if the ram playback destination bits specify phase as the dds signal control parameter. 06479-024 waveform start address waveform start address waveform end address 1 m dds clock cycles waveform end address no-dwell high = 0 no-dwell high = 1 1 ram address ram address ram_swp_over i/o_update 1 2 3 t enabling zero-crossing causes the dds to delay the application of a new phase value until such time as the dds phase accumulator rolls over from full scale to zero (the point at which the dds phase accumulator represents a phase angle that is at the 360 to 0 transition point). this can be a very beneficial feature when the dds is programmed to generate a sine wave (using the select dds sine output bit), because the zero-crossing point of phase for a sine wave corresponds with the zero-crossing point of amplitude. in the case of binary phase shift keying (bpsk), the zero- crossing feature allows the ad9910 to perform the 180 phase jumps associated with bpsk with only a minimal instantaneous change in amplitude. this avoids the spectral splatter that frequently accompanies bpsk modulation. although the intent of the zero-crossing feature is for use with the dds sine output enabled, it can be used with a cosine output. in this case, the phase values extracted from ram are registered at the dds when the output amplitude is at its peak positive value. figure 43. ramp up timing diagram the circled numbers in figure 43 indicate specific events explained as follows: event 1an i/o update or profile change occurs. this event initializes the state machine to the waveform start address and sets the ram_swp_ovr pin to logic 0. ram ramp up mode in ramp up mode, upon assertion of an i/o update or a change of profile, the ram begins operating as a waveform generator using the parameters programmed into the selected ram profile register. data is extracted from ram over the specified address range and at the specified rate contained in the wave- form start address, waveform end address, and address ramp rate values of the selected ram profile. the data is delivered to the specified dds signal control parameter(s) based on the ram playback destination bits. event 2the state machine reaches the waveform end address value for the selected profile. the ram_swp_ovr pin switches to logic 1. this marks the end of the waveform generation sequence for normal operation. event 3the state machine switches to the waveform start address. this marks the end of the waveform generation sequence for no-dwell operation. the internal state machine begins extracting data from the ram at the waveform start address and continues to extract data until it reaches the waveform end address. upon reaching this address, it either remains at the waveform end address or returns to the waveform start address as defined by the no-dwell high bit. then the state machine halts and the ram_swp_ovr pin goes high. changing profiles resets the ram_swp_ovr pin to logic 0, automatically terminates the current waveform, and initiates the newly selected waveform. ram ramp up internal profile control mode ramp up internal profile control mode is invoked via the four internal profile control bits (rather than through the ram profile mode control bits in the ram profile registers).
ad9910 rev. 0 | page 35 of 60 table 14. ram internal profile control modes internal profile control bits waveform type internal profile control description 0000 internal profile control disabled. 0001 burst execute profile 0, then profile 1, then halt. 0010 burst execute profile 0 to profile 2, then halt. 0011 burst execute profile 0 to profile 3, then halt. 0100 burst execute profile 0 to profile 4, then halt. 0101 burst execute profile 0 to profile 5, then halt. 0110 burst execute profile 0 to profile 6, then halt. 0111 burst execute profile 0 to profile 7, then halt. 1000 continuous execute profile 0, then 1, continuously. 1001 continuous execute profile 0 to profile 2, continuously. 1010 continuous execute profile 0 to profile 3, continuously. 1011 continuous execute profile 0 to profile 4, continuously. 1100 continuous execute profile 0 to profile 5, continuously. 1101 continuous execute profile 0 to profile 6, continuously. 1110 continuous execute profile 0 to profile 7, continuously. 1111 invalid. if any of the internal profile control bits are set, then the ram profile mode control bits of the ram profile registers are ignored. the no-dwell high bit is ignored in this mode. the internal profile control mode is identical to ramp up mode, except that profile switching is done automatically and internally; the state of the profile<2:0> pins is ignored. profiles cycle according to tabl e 14 . there are two types of waveform generation types available under internal profile control; burst waveforms and continuous waveforms. with both types, the state machine begins with the waveform specified by the waveform start address, waveform end address, and address ramp rate in profile 0. after reaching the waveform end address of profile 0, the state machine automatically advances to the next profile and initiates the specified waveform as defined by the new profile parameters. after the state machine reaches the waveform end address of the new profile it advances to the next profile. this action continues until the state machine reaches the waveform end address of the last profile as governed by the internal profile control bits in register cfr1 per tabl e 14 . at this point, the next course of action depends on whether the waveform type is burst or continuous. for burst waveforms, the state machine halts operation after reaching the waveform end address of the final profile. for continuous waveforms, the state machine automatically jumps to profile 0 and continues the automatic waveform generation by sequentially advancing through the profiles. this process continues indefi- nitely until the internal profile control bits are reprogrammed and an i/o update is asserted. a burst waveform timing diagram is exemplified in figure 44 . the diagram assumes that internal profile control bits in control function register 1 (cfr1) are programmed as 0010, the start address in ram profile 1 is greater than the end address in ram profile 0, and the start address in ram profile 2 is greater than the end address in ram profile 1. however, understand that the block of ram associated with each profile can be chosen arbitrarily based on the waveform start address and waveform end address for each profile. furthermore, the example shows how different t values associated with each profile might be utilized.
ad9910 rev. 0 | page 36 of 60 ram_swp_ove r waveform start address 0 waveform end address 0 1 waveform start address 1 waveform end address 1 1 waveform end address 2 1 ram profile 01 2 waveform start address 2 ram address i/o_update t 0 t 1 t 2 1 2 3 4 5 6 7 0 6479-025 figure 44. internal profile control timing diagram (burst) the gray bar across the top indicates the time interval over which the designated profile is in effect. the circled numbers indicate specific events as follows: event 1an i/o update registers the internal profile control bits (in control function register 1) are as 0010. the ram_swp_ovr pin is set to logic 0. the state machine is initialized to the waveform start address of ram profile 0 and begins incrementing through the address range for ram profile 0 at intervals of t 0 (as specified by the address step rate for ram profile 0). event 2the state machine reaches the waveform end address of ram profile 0 and the ram_swp_ovr pin generates a positive pulse spanning two dds clock cycles. event 3having reached the waveform end address of ram profile 0, the next expiration of the internal timer causes the state machine to advance to ram profile 1. the state machine is initialized to the waveform start address of ram profile 1 and begins incrementing through the address range for ram profile 1 at intervals of t 1 . event 4the state machine reaches the waveform end address of ram profile 1 and the ram_swp_ovr pin generates a positive pulse spanning two dds clock cycles. event 5having reached the waveform end address of ram profile 1, the next expiration of the internal timer causes the state machine to advance to ram profile 2. the state machine initializes to the waveform start address of ram profile 2 and begins incrementing through the address range for ram profile 2 at intervals of t 2 . event 6the state machine reaches the waveform end address of ram profile 2 and the ram_swp_ovr pin generates a positive pulse spanning two dds clock cycles. event 7having reached the waveform end address of ram profile 2, the next expiration of the internal timer causes the state machine to halt and marks completion of the burst waveform generation process.
ad9910 rev. 0 | page 37 of 60 waveform start address 0 waveform end address 0 waveform start address 1 waveform end address 1 0 6479-026 1 ram_swp_over ram profile ram address i/o_update 010 0 2 1 1 2 3 4 5 6 7 8 9 10 11 t 0 t 1 1 figure 45. internal profile control timing diagram (continuous) internal profile control continuous waveform timing diagram an example of an internal profile control, continuous waveform timing diagram is shown in figure 45 . the diagram assumes that internal profile control<20:17> is programmed as 1000. it also assumes that the start address in ram profile 1 is greater than the end address in ram profile 0. the gray bar across the top indicates the time interval over which the designated profile is in effect. the circled numbers indicate specific events. event 1an i/o update registers the fact that internal profile control bits (in control function register 1) are programmed to 1000. the ram_swp_ovr pin is set to logic 0. the state machine is initialized to the waveform start address of ram profile 0 and begins incrementing through the address range for ram profile 0 at intervals of t 0 (as specified by the address step rate for ram profile 0). event 2the state machine reaches the waveform end address of ram profile 0 and the ram_swp_ovr pin generates a positive pulse spanning two dds clock cycles. event 3having reached the waveform end address of ram profile 0, the next expiration of the internal timer causes the state machine to advance to ram profile 1. the state machine is initialized to the waveform start address of ram profile 1 and begins incrementing through the address range for ram profile 1 at intervals of t 1 . event 4the state machine reaches the waveform end address of ram profile 1 and the ram_swp_ovr pin generates a positive pulse spanning two dds clock cycles. event 5having reached the waveform end address of ram profile 1, the next expiration of the internal timer causes the state machine to jump back to ram profile 0. the state machine initializes to the waveform start address of ram profile 0 and begins incrementing through the address range for ram profile 0 at intervals of t 0 . event 6 and event 8same as event 2 and event 4, respectively. event 5 to event 8repeat indefinitely until the internal profile control bits are reprogrammed and an i/o update is asserted. ram bidirectional ramp mode in bidirectional ramp mode, upon assertion of an i/o update, the ram begins operating as a waveform generator using the parameters programmed only into ram profile 0 (unlike ramp up mode, which uses all eight profiles). data is extracted from ram over the specified address range and at the specified rate contained in the waveform start address, waveform end address, and address ramp rate values of the selected ram profile. the data is delivered to the specified dds signal control parameter(s) based on the ram playback destination bits. the profile<2:1> pins are ignored by the internal logic in this mode. when a ram profile programmed to operate in this mode is selected, no other ram profiles can be selected until the active ram profile is reprogrammed with a different ram operating mode. the no-dwell high bit is ignored in this mode. with the bidirectional ramp mode activated via an i/o update or profile change, the internal state machine readies to extract data from the ram at the waveform start address. data extraction begins when profile0 is logic 1, which instructs the state machine to begin incrementing through the address range. as long as the profile0 pin remains logic 1, the state machine continues to extract data until it reaches the waveform end address. at this point, the state machine halts until the profile0 pin is logic 0 instructing the state machine to begin decrementing through the address range. as long as the profile0 pin is logic 0, the state machine continues to extract data until it reaches the waveform start address. at this point, the state machine halts until the profile0 pin is logic 1.
ad9910 rev. 0 | page 38 of 60 0 6479-027 waveform start address waveform end address 1 profile0 ram adress ram_swp_ove r i/o_update 1 2 3 4 5 6 7 8 t t m dds clock cycles figure 46. bidirectional ramp timing diagram if the profile0 pin changes states before the state machine reaches the programmed start or end address, the internal timer is restarted and the direction of the address counter is reversed. figure 46 is a graphic representation of the bidirectional ramp mode. it shows the action of the state machine in response to the profile0 pin, and the response of the ram_swp_ovr pin. the ram_swp_ovr pin switches to logic 1 when the state machine reaches the waveform end address. it remains logic 1 until the state machine reaches the waveform start address and the profile0 pin transitions from logic 0 to logic 1. the circled numbers in figure 46 indicate specific events as follows: event 1an i/o update or profile change activates the ram bidirectional ramp mode. the state machine initializes to the waveform start address and the ram_swp_ovr pin is set to logic 0. event 2profile0 pin switches to logic 1. the state machine begins incrementing the ram address counter. event 3profile0 pin remains at logic 1 long enough for the state machine to reach the waveform end address. the ram_swp_ovr pin switches to logic 1 accordingly. event 4profile0 pin switches to logic 0. the state machine begins decrementing the ram address counter. the ram_swp_ovr pin remains at logic 1. event 5profile0 pin switches to logic 1. the state machine resets its internal timer and reverses the direction of the ram address counter (that is, it starts to increment). no change of the ram_swp_ovr state because the waveform start address has not yet been reached. event 6profile0 pin switches to logic 0. the state machine resets its internal timer and again reverses the direction of the ram address counter. the ram_swp_ovr state does not change. event 7profile0 pin remains at logic 0 long enough for the state machine to reach the waveform start address. there is no change in the ram_swp_ovr state. event 8profile0 pin switches to logic 1. the state machine resets its internal timer and begins incrementing the ram address counter. the ram_swp_ovr pin switches to logic 0 because both the waveform start address was reached and the profile0 pin transitioned from logic 0 to logic 1. ram continuous bidirectional ramp mode in continuous bidirectional ramp mode, upon assertion of an i/o update or a change of profile, the ram begins operating as a waveform generator using the parameters programmed into the ram profile designated by the profile pins. data is extracted from ram over the specified address range and at the specified rate contained in the waveform start address, waveform end address, and address ramp rate values of the selected ram profile. the data is delivered to the specified dds signal control parameter(s) based on the ram playback destination bits. the no-dwell high bit is ignored in this mode. with the continuous bidirectional ramp mode activated via an i/o update or profile change, the internal state machine begins extracting data from the ram at the waveform start address and incrementing the address counter until it reaches the waveform end address. at this point, the state machine automatically reverses the direction of the address counter and begins decrementing through the address range. whenever one of the terminal addresses is reached, the state machine reverses the address counter; the process continues indefinitely.
ad9910 rev. 0 | page 39 of 60 waveform start address waveform end address 1 t t ram adress ram_swp_over i/o_update m dds clock cycles 1 2 3 06479-028 figure 47. continuous bidirectional ramp timing diagram a change in state of the profile pins aborts the current waveform and the newly selected ram profile is used to initiate a new waveform. the ram_swp_ovr pin switches to logic 1 when the state machine reaches the waveform end address, then returns to logic 0 at the waveform start address, toggling each time one of these addresses is reached. a graphic representation of the continuous bidirectional ramp mode is shown in figure 47 . the circled numbers indicate specific events as follows: event 1an i/o update or profile change has activated the ram continuous bidirectional ramp mode. the state machine initializes to the waveform start address. the ram_swp_ovr pin resets to logic 0. the state machine begins incrementing through the specified address range. event 2the state machine reaches the waveform end address. the ram_swp_ovr pin toggles to logic 1. event 3the state machine reaches the waveform start address. the ram_swp_ovr pin toggles to logic 0. this action continues indefinitely until the next i/o update or change in profile.
ad9910 rev. 0 | page 40 of 60 06479-029 waveform start address waveform end address 1 1 2 3 4 5 ram adress ram_swp_over i/o_update m dds clock cycles t figure 48. continuous re circulate timing diagram ram continuous recirculate mode the continuous recirculate mode mimics the ramp up mode, except that when the state machine reaches the waveform end address, the next timeout of the internal timer causes the state machine to jump to the waveform start address. the waveform repeats until an i/o update or profile change. the no-dwell high bit is ignored in this mode. a profile pin state change aborts the current waveform and the newly selected ram profile is used to initiate a new waveform. the ram_swp_ovr pin pulses high for two dds clock cycles when the state machine reaches the waveform end address. continuous recirculate mode is graphically represented in figure 48 . the circled numbers indicate specific events as follows: event 1an i/o update or profile change occurs. this event initializes the state machine to the waveform start address and sets the ram_swp_ovr pin to logic 0. event 2the state machine reaches the waveform end address value for the selected profile. the ram_swp_ovr pin toggles to logic 1 for two dds clock cycles. event 3the state machine switches to the waveform start address and continues to increment the address counter. event 4the state machine again reaches the waveform end address value for the selected profile and the ram_swp_ovr pin toggles to logic 1 for two dds clock cycles. event 5the state machine switches to the waveform start address and continues to increment the address counter. event 4 and event 5these events repeat until an i/o update or change in profile.
ad9910 rev. 0 | page 41 of 60 additional features profiles the ad9910 supports the use of profiles, which consist of a group of eight registers containing pertinent operating parameters for a particular operating mode. profiles enable rapid switching between parameter sets. profile parameters are programmed via the serial i/o port. once programmed, a specific profile is activated by means of three external pins (profile<2:0>). a particular profile is activated by providing the appropriate logic levels to the profile control pins per tabl e 15 . table 15. profile control pins profile<2:0> active profile 000 0 001 1 010 2 011 3 100 4 101 5 110 6 111 7 there are two different parameter sets that the eight profile registers can control depending on the operating mode of the device. when ram enable = 0, the profile parameters follow the single tone profile format detailed in the register map and bit descriptions section. when ram enable = 1, they follow the ram profile format. as an example of the use of profiles, consider an application for implementing basic two-tone frequency shift keying (fsk). fsk uses the binary data in a serial bit stream to select between two different frequencies: a mark frequency (logic 1) and a space frequency (logic 0). to accommodate fsk, the device operates in single tone mode. the register, single tone profile 0, is programmed with the appropriate frequency tuning word for a space. the register, single tone profile 1, is programmed with the appropriate frequency tuning word for a mark. then, with the profile1 and profile2 pins tied to logic 0, the profile0 pin is connected to the serial bit stream. in this way, the logic state of the profile0 pin causes the appropriate mark and space frequencies to be generated in accordance with the binary digits of the bit stream. i/o_update pin by default, the i/o_update pin is an input that serves as a strobe signal to allow synchronous update of the device operating parameters. for example, frequency, phase and amplitude control words for the dds may be programmed via the serial i/o port. however, the serial i/o port is an asynchronous interface, so programming of the device operating parameters via the i/o port is not synchronized with the internal timing. with the i/o_update pin, the user can synchronize the application of certain programmed operating parameters with external circuitry when new parameters are programmed into the i/o registers. a rising edge on i/o_update initiates transfer of the register contents to the internal workings of the device. alternatively, the transfer of programmed data from the programming registers to the internal hardware can be accomplished by changing the state of the profile pins. automatic i/o update the ad9910 offers an option whereby the i/o update function is asserted automatically rather than relying on an external signal supplied by the user. this feature is enabled by setting the internal i/o update active bit in control function register 2 (cfr2). when this feature is active, the i/o_update pin becomes an output pin. it generates an active high pulse each time an internal i/o update occurs. the duration of the pulse is approximately 12 cycles of sysclk. this i/o update strobe can be used to notify an extern al controller that the device has generated an i/o update internally. the repetition rate of the internal i/o update is programmed via the serial i/o port. there are two parameters that control the repetition rate. the first consists of the two i/o update rate control bits in cfr2. the second is the 32-bit word in the i/o update rate register that sets the range of an internal counter. the i/o update rate control bits establish a divide by 1, 2, 4, or 8 of a clock signal that runs at ? f sysclk . the output of the divider clocks the aforementioned 32-bit internal counter. the repetition rate of the i/o update is given by b f f a sysclk updateoi 2 _/ = where a is the value of the 2-bit word comprising the i/o update rate control bits and b is the value of the 32-bit word stored in the i/o update rate register. the default value of a is 0 and the value of b is 0xffff. if b is programmed to 0x0003 or less, the i/o_update pin no longer pulses, but assumes a static logic 1 state. power-down control the ad9910 offers the ability to independently power down four specific sections of the device. power-down functionality applies to the ? digital core ? dac ? auxiliary dac ? input refclk clock circuitry a power-down of the digital core disables the ability to update the serial i/o port. however, the digital power-down bit can still be cleared via the serial port to prevent the possibility of a non-recoverable state. software power-down is controlled via four independent power-down bits in control function register 1 (cfr1).
ad9910 rev. 0 | page 42 of 60 software control requires that the ext_pwr_dwn pin be forced to a logic 0 state. in this case, setting the desired power- down bits (via the serial i/o port) powers down the associated functional block, whereas clearing the bits restores the function. alternatively, all four functions can be simultaneously powered down via external hardware control through the ext_pwr_dwn pin. when this pin is forced to logic 1, all four circuit blocks are powered down regardless of the state of the power-down bits. that is, the independent power-down bits in cfr1 are ignored and overridden when ext_pwr_dwn is logic 1. based on the state of the external power-down control bit, the ext_pwr_dwn pin produces either a full power-down or a fast recovery power-down. the fast recovery power-down mode maintains power to the dac bias circuitry and the pll, vco, and input clock circuitry. although the fast recovery power- down does not conserve as much power as the full power-down, it allows the device to awaken very quickly from the power- down state.
ad9910 rev. 0 | page 43 of 60 synchronization of multiple devices the internal clocks of the ad9910 provide the timing for the propagation of data along the baseband signal processing path. these internal clocks are derived from the internal system clock (sysclk) and are all submultiples of the sysclk frequency. the logic state of all of these clocks in aggregate during any given sysclk cycle defines a unique clock state. the clock state advances with each cycle of sysclk, but the sequence of clock states is periodic. by definition, multiple devices are synchronized when their clock states match and they transition between states simultaneously. clock synchronization allows the user to asyn- chronously program multiple devices but synchronously activate the programming by applying a coincident i/o update to all devices. it also allows multiple devices to operate in unison when the parallel port is in use with either the qduc or interpolating dac mode (see figure 52 ). the function of the synchronization logic in the ad9910 is to force the internal clock generator to a predefined state coincident with an external synchronization signal applied to the sync_in pins. if all devices are forced to the same clock state in synchro- nization with the same external signal, then the devices are, by definition, synchronized. figure 49 is a block diagram of the synchronization function. the synchronization logic is divided into two independent blocks; a sync generator and a sync receiver, both of which use the local sysclk signal for internal timing. 0 6479-050 sync generator ref_clk 5 sysclk internal clocks 6 5 4 sync receiver sync generator enable sync generator delay sync polarity 90 91 9 10 sync_out ref_clk input circuitry 7 8 12 sync_in sync_smp_err sync validation delay sync state preset value sync timing validation disable clock generator setup and hold validation sync receiver enable sync receiver delay input delay and edge detection figure 49. synchronization circuit block diagram the synchronization mechanism relies on the premise that the refclk signal appearing at each device is edge aligned with all others as a result of the external refclk distribution system (see figure 52 ). the sync generator block is shown in figure 50 . it is activated via the sync generator enable bit. it allows for one ad9910 in a group to function as a master timing source with the remaining devices slaved to the master. s ysclk sync generator enable sync generator delay sync polarity sync_out 0 1 dq r progammable delay 16 n 5 9 10 9 10 lvds driver 0 6479-051 figure 50. sync generator diagram the sync generator produces a clock signal that appears at the sync_out pins. this clock is delivered by an lvds driver and exhibits a 50% duty cycle. the clock has a fixed frequency given by 16 _ sysclk out sync f f = the clock at the sync_out pins synchronizes with either the rising or falling edge of the internal sysclk signal as deter- mined by the sync generator polarity bit. because the sync_out signal is synchronized with the internal sysclk of the master device, the master device sysclk serves as the reference timing source for all slave devices. the user can adjust the output delay of the sync_out signal in steps of ~150 ps by programming the 5-bit sync generator delay word via the serial i/o port. the programmable output delay facilitates added edge timing flexibility to the overall synchronization mechanism. the sync receiver block (shown in figure 51 ) is activated via the sync receiver enable bit. the sync receiver consists of three sub- sections; the input delay and edge detection block, the internal clock generator block, and the setup and hold validation block. the clock generator block remains operational even if the sync receiver is not enabled.
ad9910 rev. 0 | page 44 of 60 lvds receiver progammable delay 5 internal clocks clock state 6 sync state preset value sync pulse sysclk setup and hold validation 4 d1 q1 load d6 d5 d4 d3 d2 q6 q5 q4 q3 q2 delayed sync-in signal sync receiver delay sync receiver enable sync_smp_err sync_in 7 8 12 rising edge detector and strobe generator sync timing validation disable sync validation delay 06479-052 clock generator figure 51. sync receiver diagram sync in sync out ref_clk ad9910 number 1 master device fpga data fpga data fpga data edge aligned a t ref_clk inputs. edge aligned at syn_in inputs. pdclk sync in sync out ref_clk ad9910 number 2 pdclk sync in sync out ref_clk ad9910 number 3 pdclk (for example ad951x) clock distribution and delay equalization synchronization distribution and delay equalization (for example ad951x) 06479-053 clock source figure 52. multichip synchronization example the sync receiver accepts a periodic clock signal at the sync_in pins. this signal is assumed to originate from an lvds-compatible driver. the user can delay the sync_in signal in steps of ~150 ps by programming the 5-bit sync receiver delay word in the multichip sync register. for the sake of discussion, the signal at the output of the programmable delay is referred to as the delayed sync-in signal. the edge detection logic generates a sync pulse having a dura- tion of one sysclk cycle with a repetition rate equal to the frequency of the signal applied to the sync_in pins. the sync pulse is generated as a result of sampling the rising edge of the delayed sync-in signal with the rising edge of the local sysclk. the sync pulse is routed to the internal clock generator, which behaves as a presettable counter clocked at the sysclk rate. the sync pulse presets the counter to a predefined state (programmable via the 6-bit sync state preset value word in the multichip sync register). the predefined state is only active for a single sysclk cycle, after which the clock generator resumes cycling through its state sequence at the sysclk rate. this unique state presetting mechanism gives the user the flexibility to synchronize devices with specific relative clock state offsets (by assigning a different sync state preset value word to each device). multiple device synchronization is accomplished by providing each ad9910 with a sync_in signal that is edge aligned across all the devices. if the sync_in signal is edge aligned at all devices, and all devices have the same sync receiver delay and sync state preset value, then they all have matching clock states (that is, they
ad9910 rev. 0 | page 45 of 60 are synchronized). this concept is shown in figure 52 , in which three ad9910s are synchronized with one device operating as a master timing unit and the others as slave units. the master device must have its sync_in pins included as part of the synchronization distribution and delay equalization mecha- nism in order for it to be synchronized with the slave units. the synchronization mechanism begins with the clock distribution and delay equalization block, which is used to ensure that all devices receive an edge aligned refclk signal. however, even though the refclk signal is edge aligned among all devices, this alone does not guarantee that the clock state of each internal clock generator is coordinated with the others. this is the role of the synchronization and delay equalization block. this block accepts the sync_out signal generated by the master device and redistributes it to the sync_in input of the slave units (as well as feeding it back to the master). the goal of the redistributed sync_out signal from the master device is to deliver an edge aligned sync_in signal to all of the sync receivers. assuming that all devices share the same refclk edge (due to the clock distribution and delay equalization block), and all devices share the same sync_in edge (due to the synchroni- zation and delay equalization block), then all devices should generate an internal sync pulse in unison (assuming they all have the same sync receiver delay value). with the further stipulation that all devices have the same sync state preset value, then the synchronized sync pulses cause all of the devices to assume the same predefined clock state simultaneously. that is, the internal clocks of all devices become fully synchronized. the synchronization mechanism depends on the reliable gen- eration of a sync pulse by the edge detection block in the sync receiver. generation of a valid sync pulse, however, requires proper sampling of the rising edge of the delayed sync-in signal with the rising edge of the local sysclk. if the edge timing of these signals fails to meet the setup or hold time requirements of the internal latches in the edge detection circuitry, then the proper generation of the sync pulse is in jeopardy. the setup and hold validation block (see figure 53 ) gives the user a means to validate that proper edge timing exists between the two signals. the setup and hold validation block can be disabled via the sync timing validation disable bit in control function register 2. the validation block makes use of a user-specified time window (programmable in increments of ~150 ps via the 4-bit sync validation delay word in the multichip sync register). the setup validation and hold validation circuits use latches identical to those in the rising edge detector and strobe generator. the programmable time window is used to skew the timing between the rising edges of the local sysclk signal and the rising edges of the delayed sync-in signal. if either the hold or setup validation circuits fail to detect a valid edge sample, the condition is indicated externally via the sync_smp_err pin (active high). the user must choose a sync validation delay value that is a reasonable fraction of the sysclk period. for example, if the sysclk frequency is 1 ghz (1 ns period), then a reasonable value is 1 or 2 (150 ps or 300 ps). choosing too large a value can cause the sync_smp_err pin to generate false error signals. choosing too small a value may cause instability. sync pulse sysclk delay delay check logic 4 sync validation delay 4 4 sync_smp_err sync receiver 12 sync timing validation disable setup validation hold validation dq 12 setup and hold validation to clock generation logic from sync receiver delay logic dq dq rising edge detector and strobe generator 0 6479-054 figure 53. sync timing validation block
ad9910 rev. 0 | page 46 of 60 serial programming control interfaceserial i/o the ad9910 serial port is a flexible, synchronous serial commu- nications port allowing easy interface to many industry-standard microcontrollers and microprocessors. the serial i/o is compatible with most synchronous transfer formats, including both the motorola 6905/11 spi and intel? 8051 ssr protocols. the interface allows read/write access to all registers that configure the ad9910. msb-first or lsb-first transfer formats are supported. in addition, the serial interface port can be configured as a single pin input/output (sdio) allowing a two- wire interface, or it can be configured as two unidirectional pins for input/output (sdio/sdo) enabling a 3-wire interface. two optional pins (i/o_reset and cs ) enable greater flexibility for designing systems with the ad9910. general serial i/o operation there are two phases to a serial communications cycle. the first is the instruction phase to write the instruction byte into the ad9910. the instruction byte contains the address of the register to be accessed (see the register map and bit descriptions section) and also defines whether the upcoming data transfer is a write or read operation. for a write cycle, phase 2 represents the data transfer between the serial port controller to the serial port buffer. the number of bytes transferred is a function of the register being accessed. for example, when accessing the control function register 2 (address 0x01), phase 2 requires that four bytes be transferred. each bit of data is registered on each corresponding rising edge of sclk. the serial port controller expects that all bytes of the register be accessed, otherwise the serial port controller is put out of sequence for the next communication cycle. however, one way to write fewer bytes than required is to use the i/o_reset pin feature. the i/o_reset pin function can be used to abort an i/o operation and reset the pointer of the serial port con- troller. after an i/o reset, the next byte is the instruction byte. note that every completed byte written prior to an i/o reset is preserved in the serial port buffer. partial bytes written are not preserved. at the completion of any communication cycle, the ad9910 serial port controller expects the next eight rising sclk edges to be the instruction byte for the next communi- cation cycle. after a write cycle, the programmed data resides in the serial port buffer and is inactive. i/o_update transfers data from the serial port buffer to active registers. the i/o update can either be sent after each communication cycle or when all serial operations are complete. in addition, a change in profile pins can initiate an i/o update. for a read cycle, phase 2 is the same as the write cycle with the following differences: data is read from the active registers, not the serial port buffer, and data is driven out on the falling edge of sclk. instruction byte the instruction byte contains the following information as shown in the instruction byte bit map. instruction byte information bit map msb lsb d7 d6 d5 d4 d3 d2 d1 d0 r/ w x x a4 a3 a2 a1 a0 r/ w bit 7 of the instruction byte determines whether a read or write data transfer occurs after the instruction byte write. set indicates read operation. cleared indicates a write operation. x, xbit 6 and bit 5 of the instruction byte are dont care. a4, a3, a2, a1, a0bit 4, bit 3, bit 2, bit 1, and bit 0 of the instruction byte determine which register is accessed during the data transfer portion of the communications cycle. serial i/o port pin descriptions sclkserial clock the serial clock pin is used to synchronize data to and from the ad9910 and to run the internal state machines. cs chip select bar active low input that allows more than one device on the same serial communications line. the sdo and sdio pins go to a high impedance state when this input is high. if driven high during any communications cycle, that cycle is suspended until cs is reactivated low. chip select ( cs ) can be tied low in systems that maintain control of sclk. sdioserial data input/output data is always written into the ad9910 on this pin. however, this pin can be used as a bidirectional data line. bit 1 of cfr1 register address 0x00 controls the configuration of this pin. the default is cleared, which configures the sdio pin as bidirectional. sdoserial data out data is read from this pin for protocols that use separate lines for transmitting and receiving data. in the case where the ad9910 operates in a single bidirectional i/o mode, this pin does not output data and is set to a high impedance state. i/o_resetinput/output reset i/o_reset synchronizes the i/o port state machines without affecting the addressable registers contents. an active high input on the i/o_reset pin causes the current communication cycle to abort. after i/o_reset returns low (logic 0), another
ad9910 rev. 0 | page 47 of 60 communication cycle can begin, starting with the instruction byte write. i/o_updateinput/output update the i/o_update initiates the transfer of written data from the i/o port buffer to active registers. i/o_update is active on the rising edge and its pulse width must be greater than one sync_clk period. it is either an input or output pin depending on the programming of the internal i/o update active bit. serial i/o timing diagrams the diagrams below provide basic examples of the timing relationships between the various control signals of the serial i/o port. most of the bits in the register map are not transferred to their internal destinations until assertion of an i/o update, which is not included in the timing diagrams that follow. msb/lsb transfers the ad9910 serial port can support both most significant bit (msb) first or least significant bit (lsb) first data formats. this functionality is controlled by bit 0 in control function register 1 (0x00). the default format is msb first. if bit 0 is set high, the serial port is configured for lsb-first format. if lsb first is active, all data, including the instruction byte, must follow lsb-first convention. note that the highest number found in the bit range column for each register (see the register map and bit descriptions section and tabl e 16 ) is the msb and the lowest number is the lsb for that register. i 7 sdio instruction cycle data transfer cycle sclk cs i 6 i 5 i 4 i 3 i 2 i 1 i 0 d 7 d 6 d 5 d 4 d 3 d 2 d 1 d 0 06479-030 figure 54. serial port write timing, clock stall low d o7 instruction cycle data transfer cycle don't care i 7 i 6 i 5 i 4 i 3 i 2 i 1 i 0 sdio s cl k cs sdo d o6 d o5 d o4 d o3 d o2 d o1 d o0 06479-031 figure 55. 3-wire serial port read timing, clock stall low i 7 sdio instruction cycle data transfer cycle s cl k cs i 6 i 5 i 4 i 3 i 2 i 1 i 0 d 7 d 6 d 5 d 4 d 3 d 2 d 1 d 0 06479-032 figure 56. serial port write timing, clock stall high i 7 sdio instruction cycle data transfer cycle scl k cs i 6 i 5 i 4 i 3 i 2 i 1 i 0 d o7 d o6 d o5 d o4 d o3 d o2 d o1 d o0 06479-033 figure 57. 2-wire serial port read timing, clock stall high
ad9910 rev. 0 | page 48 of 60 register map and bit descriptions table 16. register map register name (serial address) bit range (internal address) bit 7 (msb) bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 (lsb) default value 5 (hex) 31:24 ram enable ram playback destination open 0x00 23:16 manual osk external control inverse sinc filter enable open internal profile control select dds sine output 0x00 15:8 load lrr @ i/o update autoclear digital ramp accum. autoclear phase accum. clear digital ramp accum. clear phase accum. load arr @ i/o update osk enable select auto osk 0x00 cfr1 control function register 1 (0x00) 7:0 digital power- down dac power- down refclk input power- down aux dac power- down external power- down control open sdio input only lsb first 0x00 31:24 open drover pin active enable amplitude scale from single tone profiles 0x00 23:16 internal i/o update active sync_clk enable digital ramp destination digital ramp enable digital ramp no-dwell high digital ramp no-dwell low read effective ftw 0x40 15:8 i/o update rate control open pdclk enable pdclk invert txenable invert open 0x08 cfr2 control function register 2 (0x01) 7:0 matched latency enable data assembler hold last value sync sample error mask parallel data port enable fm gain 0x20 31:24 drv0<1:0> open<5:3> vco sel<2:0> 0x1f 23:16 open i cp <2:0> open 0x3f 15:8 refclk input divider bypass refclk input divider resetb open pll enable 0x40 cfr3 control function register 3 (0x02) 7:0 n<6:0> open 0x00 31:24 open 0x00 23:16 open 0x00 15:8 open 0x7f auxiliary dac control (0x03) 7:0 fsc<7:0> 0x7f 31:24 i/o update rate<31:24> 0xff 23:16 i/o update rate<23:16> 0xff 15:8 i/o update rate<15:8> 0xff i/o update rate (0x04) 7:0 i/o update rate<7:0> 0xff 31:24 frequency tuning word<31:24> 0x00 23:16 frequency tuning word<23:16> 0x00 15:8 frequency tuning word<15:8> 0x00 ftw frequency tuning word (0x07) 7:0 frequency tuning word<7:0> 0x00
ad9910 rev. 0 | page 49 of 60 register name (serial address) bit range (internal address) bit 7 (msb) bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 (lsb) default value 5 (hex) 15:8 phase offset word<15:8> 0x00 pow phase offset word (0x08) 7:0 phase offset word<7:0> 0x00 31:24 amplitude ramp rate<15:8> 0x00 23:16 amplitude ramp rate<7:0> 0x00 15:8 amplitude scale factor<13:6> 0x00 asf amplitude scale factor (0x09) 7:0 amplitude scale factor<5:0> amplitude step size<1:0> 0x00 31:24 sync validation delay<3:0> sync receiver enable sync generator enable sync generator polarity open 0x00 23:16 sync state preset value<5:0> open 0x00 15:8 output sync generator delay<4:0> open 0x00 multichip sync (0x0a) 7:0 input sync receiver delay<4:0> open 0x00 63:56 digital ramp upper limit<31:24> n/a 55:48 digital ramp upper limit<23:16> n/a 47:40 digital ramp upper limit<15:8> n/a 39:32 digital ramp upper limit<7:0> n/a 31:24 digital ramp lower limit<31:24> n/a 23:16 digital ramp lower limit<23:16> n/a 15:8 digital ramp lower limit<15:8> n/a digital ramp limit (0x0b) 7:0 digital ramp lower limit<7:0> n/a 63:56 digital ramp decrem ent step size<31:24> n/a 55:48 digital ramp decrem ent step size<23:16> n/a 47:40 digital ramp decrem ent step size<15:8> n/a 39:32 digital ramp decrem ent step size<7:0> n/a 31:24 digital ramp increm ent step size<31:24> n/a 23:16 digital ramp increm ent step size<23:16> n/a 15:8 digital ramp increm ent step size<15:8> n/a digital ramp step size (0x0c) 7:0 digital ramp increment step size<7:0> n/a 31:24 digital ramp negative slope rate <15:8> n/a 23:16 digital ramp negative slope rate<7:0> n/a 15:8 digital ramp positive slope rate<15:8> n/a digital ramp rate (0x0d) 7:0 digital ramp positive slope rate<7:0> n/a 63:56 open amplitude scale factor 0<13:8> 0x08 55:48 amplitude scale factor 0<7:0> 0xb5 47:40 phase offset word 0<15:8> 0x00 39:32 phase offset word 0<7:0> 0x00 31:24 frequency tuning word 0<31:24> 0x00 23:16 frequency tuning word 0<23:16> 0x00 15:8 frequency tuning word 0<15:8> 0x00 single tone profile 0 (0x0e) 7:0 frequency tuning word 0<7:0> 0x00 63:56 open n/a 55:48 ram profile 0 address step rate<15:8> n/a 47:40 ram profile 0 address step rate<7:0> n/a 39:32 ram profile 0 waveform end address<9:2> n/a 31:24 ram profile 0 waveform end address<1:0> open n/a 23:16 ram profile 0 waveform start address<9:2> n/a 15:8 ram profile 0 waveform start address<1:0> open n/a ram profile 0 (0x0e) 7:0 open no-dwell high open zero- crossing ram profile 0 mode control<2:0> n/a
ad9910 rev. 0 | page 50 of 60 register name (serial address) bit range (internal address) bit 7 (msb) bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 (lsb) default value 5 (hex) 63:56 open amplitude scale factor 1<13:8> n/a 55:48 amplitude scale factor 1<7:0> n/a 47:40 phase offset word 1<15:8> n/a 39:32 phase offset word 1<7:0> n/a 31:24 frequency tuning word 1<31:24> n/a 23:16 frequency tuning word 1<23:16> n/a 15:8 frequency tuning word 1<15:8> n/a single tone profile 1 (0x0f) 7:0 frequency tuning word 1<7:0> n/a 63:56 open n/a 55:48 ram profile 1 address step rate <15:8> n/a 47:40 ram profile 1 address step rate <7:0> n/a 39:32 ram profile 1 waveform end address <9:2> n/a 31:24 ram profile 1 waveform end address<1:0> open n/a 23:16 ram profile 1 waveform start address<9:2> n/a 15:8 ram profile 1 waveform start address<1:0> open n/a ram profile 1 (0x0f) 7:0 open no-dwell high open zero- crossing ram profile 1 model control<2:0> n/a 63:56 open amplitude scale factor 2<13:8> n/a 55:48 amplitude scale factor 2<7:0> n/a 47:40 phase offset word 2<15:8> n/a 39:32 phase offset word 2<7:0> n/a 31:24 frequency tuning word 2<31:24> n/a 23:16 frequency tuning word 2<23:16> n/a 15:8 frequency tuning word 2<15:8> n/a single tone profile 2 (0x10) 7:0 frequency tuning word 2<7:0> n/a 63:56 open n/a 55:48 ram profile 2 address step rate<15:8> n/a 47:40 ram profile 2 address step rate<7:0> n/a 39:32 ram profile 2 waveform end address<9:2> n/a 31:24 ram profile 2 waveform end address<1:0> open n/a 23:16 ram profile 2 waveform start address <9:2> n/a 15:8 ram profile 2 waveform start address <1:0> open n/a ram profile 2 (0x10) 7:0 open no-dwell high open zero- crossing ram profile 2 mode control<2:0> n/a 63:56 open amplitude scale factor 3<13:8> n/a 55:48 amplitude scale factor 3<7:0> n/a 47:40 phase offset word 3<15:8> n/a 39:32 phase offset word 3<7:0> n/a 31:24 frequency tuning word 3<31:24> n/a 23:16 frequency tuning word 3<23:16> n/a 15:8 frequency tuning word 3<15:8> n/a single tone profile 3 (0x11) 7:0 frequency tuning word 3<7:0> n/a
ad9910 rev. 0 | page 51 of 60 register name (serial address) bit range (internal address) bit 7 (msb) bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 (lsb) default value 5 (hex) 63:56 open n/a 55:48 ram profile 3 address step rate<15:8> n/a 47:40 ram profile 3 address step rate<7:0> n/a 39:32 ram profile 3 waveform end address<9:2> n/a 31:24 ram profile 3 waveform end address<1:0> open n/a 23:16 ram profile 3 waveform start address<9:2> n/a 15:8 ram profile 3 waveform start address<1:0> open n/a ram profile 3 (0x11) 7:0 open no-dwell high open zero- crossing ram profile 3 mode control<2:0> n/a 63:56 open amplitude scale factor 4<13:8> n/a 55:48 amplitude scale factor 4<7:0> n/a 47:40 phase offset word 4<15:8> n/a 39:32 phase offset word 4<7:0> n/a 31:24 frequency tuning word 4<31:24> n/a 23:16 frequency tuning word 4<23:16> n/a 15:8 frequency tuning word 4<15:8> n/a single tone profile 4 (0x12) 7:0 frequency tuning word 4<7:0> n/a 63:56 open n/a 55:48 ram profile 4 address step rate<15:8> n/a 47:40 ram profile 4 address step rate<7:0> n/a 39:32 ram profile 4 waveform end address<9:2> n/a 31:24 ram profile 4 waveform end address<1:0> open n/a 23:16 ram profile 4 waveform start address<9:2> n/a 15:8 ram profile 4 waveform start address<1:0> open n/a ram profile 4 (0x12) 7:0 open no-dwell high open zero- crossing ram profile 4 mode control<2:0> n/a 63:56 open amplitude scale factor 5<13:8> n/a 55:48 amplitude scale factor 5<7:0> n/a 47:40 phase offset word 5<15:8> n/a 39:32 phase offset word 5<7:0> n/a 31:24 frequency tuning word 5<31:24> n/a 23:16 frequency tuning word 5<23:16> n/a 15:8 frequency tuning word 5<15:8> n/a single tone profile 5 (0x13) 7:0 frequency tuning word 5<7:0> n/a 63:56 open n/a 55:48 ram profile 5 address step rate<15:8> n/a 47:40 ram profile 5 address step rate<7:0> n/a 39:32 ram profile 5 waveform end address<9:2> n/a 31:24 ram profile 5 waveform end address<1:0> open n/a 23:16 ram profile 5 waveform start address <9:2> n/a 15:8 ram profile 5 waveform start address<1:0> open n/a ram profile 5 (0x13) 7:0 open no-dwell high open zero- crossing ram profile 5 mode control<2:0> n/a
ad9910 rev. 0 | page 52 of 60 register name (serial address) bit range (internal address) bit 7 (msb) bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 (lsb) default value 5 (hex) 63:56 open amplitude scale factor 6<13:8> n/a 55:48 amplitude scale factor 6<7:0> n/a 47:40 phase offset word 6<15:8> n/a 39:32 phase offset word 6<7:0> n/a 31:24 frequency tuning word 6<31:24> n/a 23:16 frequency tuning word 6<23:16> n/a 15:8 frequency tuning word 6<15:8> n/a single tone profile 6 (0x14) 7:0 frequency tuning word 6<7:0> n/a 63:56> open n/a 55:48 ram profile 6 address step rate<15:8> n/a 47:40 ram profile 6 address step rate<7:0> n/a 39:32 ram profile 6 waveform end address<9:2> n/a 31:24 ram profile 6 waveform end address<1:0> open n/a 23:16 ram profile 6 waveform start address<9:2> n/a 15:8 am profile 6 waveform start address <1:0> open n/a ram profile 6 (0x14) 7:0 open no-dwell high open zero- crossing ram profile 6 mode control<2:0> n/a 63:56 open amplitude scale factor 7<13:8> n/a 55:48 amplitude scale factor 7<7:0> n/a 47:40 phase offset word 7<15:8> n/a 39:32 phase offset word 7<7:0> n/a 31:24 frequency tuning word 7<31:24> n/a 23:16 frequency tuning word 7<23:16> n/a 15:8 frequency tuning word 7<15:8> n/a single tone profile 7 (0x15) 7:0 frequency tuning word 7<7:0> n/a 63:56 open n/a 55:48 ram profile 7 address step rate<15:8> n/a 47:40 ram profile 7 address step rate<7:0> n/a 39:32 ram profile 7 waveform end address<9:2> n/a 31:24 ram profile 7 waveform end address <1:0> open n/a 23:16 ram profile 7 waveform start address<9:2> n/a 15:8 ram profile 7 waveform start address <1:0> open n/a ram profile 7 (0x15) 7:0 open no-dwell high open zero- crossing ram profile 7 mode control<2:0> n/a ram (0x16) 31:0 ram[1023:0]<31:0> n/a 5 n/a = not applicable.
ad9910 rev. 0 | page 53 of 60 register bit descriptions the serial i/o port registers span an address range of 0 to 23 (0x00 to 0x16 in hexadecimal notation). this represents a total of 24 registers. however, two of these registers are unused yielding a total of 22 available registers. the unused registers are register 5 and register 6 (0x05 and 0x06, respectively). the number of bytes assigned to the registers varies from register to register. that is, the registers are not of uniform depth; each contains the number of bytes necessary for its particular function. additionally, the registers are assigned names according to their functionality. in some cases, a register is given a mnemonic descriptor. for example, the register at serial address 0x00 is named control function register 1 and is assigned the mnemonic cfr1. the following section provides a detailed description of each bit in the ad9910 register map. of course, for cases in which a group of bits serve a specific function, the entire group is considered as a binary word and described in aggregate. this section is organized in sequential order of the serial addresses of the registers. each subheading includes the register name and optional register mnemonic (in parentheses). also given is the serial address in hexadecimal format and the number of bytes assigned to the register. following each subheading is a table containing the individual bit descriptions for that particular register. the location of the bit(s) in the register are indicated by a single number or a pair of numbers separated by a colon. that is, a pair of numbers (a:b) indicates a range of bits from the most significant (a) to the least significant (b). for example, 5:2 implies bit position 5 down to bit position 2, inclusive, with bit 0 identifying the lsb of the register. unless otherwise stated, programmed bits are not transferred to their internal destinations until the assertion of the i/o_update pin or a profile change. control function register 1 (cfr1) address 0x00; 4 bytes are assigned to this register. table 17. bit description for cfr1 bit(s) descriptor explanation 31 ram enable 0 = disables ram functionality (default). 1 = enables ram functionality (required for both load/retrieve and playback operation). 30:29 ram playback destination see table 12 for details; default is 00 2 . 28:24 not available 23 ineffective unless bits<9:8> = 10 2 . manual osk external control 0 = osk pin inoperative (default). 1 = osk pin enabled for manual osk control (see output shift keying (osk) section for details). 22 inverse sinc filter enable 0 = inverse sinc filter bypassed (default). 1 = inverse sinc filter active. 21 not available 20:17 internal profile control ineffective unless bit 31 = 1. these bits are effective without the need for an i/o update. see table 14 for details. default is 0000 2 . 16 select dds sine output 0 = cosine o utput of the dds is selected (default). 1 = sine output of the dds is selected. 15 load lrr @ i/o update ineffective unless cfr2<19> = 1. 0 = normal operation of the digital ramp timer (default). 1 = digital ramp timer loaded any time i/o_up date is asserted or a profile change occurs. 0 = normal operation of the drg accumulator (default). 14 autoclear digital ramp accumulator 1 = the ramp accumulator is reset for one cycle of the dds clock after which the accumulator automatically resumes normal operation. as long as this bit remains set, the ramp accumulator is momentarily reset each ti me an i/o update is asserted or a profile change occurs. this bit is synchronized with either an i/o update or a profile change and the next rising edge of sync_clk. 0 = normal operation of the dds phase accumulator (default). 13 autoclear phase accumulator 1 = synchronously resets the dds phase accumulator anytime i/o_update is asserted or a profile change occurs.
ad9910 rev. 0 | page 54 of 60 bit(s) descriptor explanation 0 = normal operation of the drg accumulator (default). 12 clear digital ramp accumulator 1 = asynchronous, static reset of the drg accu mulator. the ramp accumulator remains reset as long as this bit remains set. this bit is sync hronized with either an i/o update or a profile change and the next rising edge of sync_clk. 11 clear phase accumulator 0 = normal operation of the dds phase accumulator (default). 1 = asynchronous, static reset of the dds phase accumulator. 10 load arr @ i/o update ineffective unless bits<9:8> = 11 2 . 0 = normal operation of the osk amplitude ramp rate timer (default). 1 = osk amplitude ramp rate timer reloaded an ytime i/o_update is asserted or a profile change occurs. 9 osk enable the output shift keying enable bit. 0 = osk disabled (default). 1 = osk enabled. 8 select auto osk ineffective unless bit 9 = 1. 0 = manual osk enabled (default). 1 = automatic osk enabled. 7 digital power-down this bit is effectiv e without the need for an i/o update. 0 = clock signals to the digital core are active (default). 1 = clock signals to the digital core are disabled. 6 dac power-down 0 = dac clock signals an d bias circuits are active (default). 1 = dac clock signals and bias circuits are disabled. 5 refclk input power-down this bit is effe ctive without the need for an i/o update. 0 = refclk input circuits and pll are active (default). 1 = refclk input circuits and pll are disabled. 4 auxiliary dac power-down 0 = auxiliary dac clock signals and bias circuits are active (default). 1 = auxiliary dac clock signals and bias circuits are disabled. 3 0 = assertion of the extpwrdn pin effects full power-down (default). external power-down control 1 = assertion of the extpwrdn pin effects fast recovery power-down. 2 not available 1 0 = configures the sdio pin for bidirectiona l operation; 2-wire serial programming mode (default). sdio input only 1 = configures the serial data i/o pin (sdio) as an input only pin; 3-wire serial programming mode. 0 lsb first 0 = configures the serial i/o port for msb-first format (default) 1 = configures the serial i/o port for lsb-first format.
ad9910 rev. 0 | page 55 of 60 control function register 2 (cfr2) address 0x01; 4 bytes are assigned to this register. table 18. bit descriptions for cfr2 bit(s) descriptor explanation 31:26 not available 25 drover pin active ineffective unless bit 19 = 1. refer to drover pin section for details. 24 ineffective if bit 19 = 1 or cfr1<31> = 1 or cfr1<9> = 1. 0 = the amplitude scaler is bypassed and shut down for power conservation (default). enable amplitude scale from single tone profiles 1 = the amplitude is scaled by the asf from the active profile. this bit is effective without the need for an i/o update. 0 = serial i/o programming is synchronized with the external assertion of the i/o_update pin, which is configur ed as an input pin (default). 23 internal i/o update active 1 = serial i/o programming is synchronized with an internally generated i/o update signal (the internally generated signal appears at the i/o_update pin, which is configured as an output pin). 22 sync_clk enable 0 = the sync_clk pin is disabled; static logic 0 output. 1 = the sync_clk pin generates a clock signal at ? f sysclk ; used for synchronization of the serial i/o port (default). 21:20 digital ramp destination see table 11 for details. default is 00 2 . see digital ramp generator (drg) section for details. 19 digital ramp enable 0 = disables digital ramp generator functionality (default). 1 = enables digital ramp generator functionality. 18 see digital ramp generator (drg) section for details. 0 = disables no-dwell high functionality (default). digital ramp no-dwell high 1 = enables no-dwell high functionality. 17 digital ramp no-dwell low see digital ramp generator (drg) section for details. 0 = disables no-dwell low functionality (default). 1 = enables no-dwell low functionality. 16 read effective ftw 0 = a serial i/o port read operation of the ftw register reports the contents of the ftw register (default). 1 = a serial i/o port read operation of the ftw register reports the actual 32-bit word appearing at the input to the dds phase accumulator. 15:14 i/o update rate control ineffective unless bit 23 = 1. sets the prescale ratio of the divider that clocks the auto i/o update timer as follows: 00 = divide-by-1 (default). 01 = divide-by-2. 10 = divide-by-4. 11 = divide-by-8. 13:12 not available 11 pdclk enable 0 = the pdclk pin is disabled and forced to a st atic logic 0 state; the internal clock signal continues to operate and provide timing to the data assembler. 1 = the internal pdclk signal appears at the pdclk pin (default). 10 pdclk invert 0 = normal pdclk polarity; q-data asso ciated with logic 1, i-data with logic 0 (default). 1 = inverted pdclk polarity. 9 txenable invert 0 = no inversion. 1 = inversion. 8 not available 0 = simultaneous application of amplitude, phase, and frequency changes to the dds arrive at the output in th e order listed (default). 7 matched latency enable 1 = simultaneous application of amplitude, phase, and frequency changes to the dds arrive at the output simultaneously.
ad9910 rev. 0 | page 56 of 60 bit(s) descriptor explanation ineffective unless bit 4 = 1. 6 data assembler hold last value 0 = the data assembler of the pa rallel data port internally fo rces zeros on the data path and ignores the signals on the d<15:0> an d f<1:0> pins while the txenable pin is logic 0 (default). this implies that the destinat ion of the data at the parallel data port is amplitude when txenable is logic 0. 1 = the data assembler of the parallel data port internally forces the last value received on the d<15:0> and f<1:0> pins wh ile the txenable pin is logic 1. 5 sync sample error mask 0 = enables the sync_smp_err pin to indicate (active high) detection of a synchronization pulse sampling error. 1 = the sync_smp_err pin is forced to a static logic 0 condition (default). 4 see the parallel data port modulation mode section for more details. 0 = disables parallel data port mo dulation functionality (default). parallel data port enable 1 = enables parallel data port modulation functionality. 3:0 fm gain see the parallel data port modulation mode section for more details. default is 0000 2 . control function register 3 (cfr3) address 0x02; 4 bytes are assigned to this register. table 19. bit descriptions for cfr3 bit(s) descriptor explanation 31:30 drv0 controls the refclk_out pin, (see table 7 for details); default is 00 2 . 29:27 not available 26:24 vco sel selects frequency band of the refclk pll vco, (see table 8 for details); default is 111 2 . 23:22 not available 21:19 i cp selects the charge pump current in the refclk pll (see table 9 for details); default is 111 2 . 18:16 not available 15 0 = input divider is selected (default). refclk input divider bypass 1 = input divider is bypassed. 14 0 = input divider is reset. refclk input divider resetb 1 = input divider operates normally (default). 13:9 not available 8 pll enable 0 = refclk pll bypassed (default). 1 = refclk pll enabled. 7:1 n this 7-bit number is divide modulus of th e refclk pll feedback divider; default is 0000000 2 . 0 not available auxiliary dac control register address 0x03; 4 bytes are assigned to this register. table 20. bit descriptions for dac control register bit(s) descriptor explanation 31:8 not available 7:0 fsc this 8-bit number controls the full-scal e output current of the main dac (see the auxiliary dac section); default is 0xff.
ad9910 rev. 0 | page 57 of 60 i/o update rate register address 0x04, 4 bytes are assigned to this register. this register is effective without the need for an i/o update. table 21. bit descriptions for i/o update rate register bit(s) descriptor explanation 31:0 i/o update rate ineffective unless cfr2<23> = 1. this 32-bit number controls the automatic i/o update rate (see the automatic i/o update se ction for details). default is 0xffffffff. frequency tuning word register (ftw) address 0x07, 4 bytes are assigned to this register. table 22. bit descriptions for ftw register bit(s) descriptor explanation 31:0 frequency tuning word 32-bit frequency tuning word. phase offset word register (pow) address 0x08, 2 bytes are assigned to this register. table 23. bit descriptions for pow register bit(s) descriptor explanation 15:0 phase offset word 16-bit phase offset word. amplitude scale factor register (asf) address 0x09, 4 bytes are assigned to this register. table 24. bit descriptions for asf register bit(s) descriptor explanation 31:16 amplitude ramp rate 16-bit amplitude ramp rate value. effective only if cfr1<9:8> = 11 2 ; see the output shift keying (osk) section for details. 15:2 amplitude scale factor 14-bit amplitude scale factor. 1:0 amplitude step size effective only if cfr1<9:8> = 11 2 ; see the output shift keying (osk) section for details.
ad9910 rev. 0 | page 58 of 60 multichip sync register address 0x0a, 4 bytes are assigned to this register. table 25. multichip sync register bit(s) descriptor explanation 31:28 sync validation delay this 4-bit number sets the timing skew (in ~150 ps increments) between sysclk and the delayed sync-in signal for the sync validation block in the sync receiver. default is 0000 2 . 27 sync receiver enable 0 = synchronization clock receiver disabled (default). 1 = synchronization clock receiver enabled. 26 sync generator enable 0 = synchronizat ion clock generator disabled (default). 1 = synchronization clock generator enabled. 25 sync generator polarity 0 = synchronization clock generato r coincident with the rising edge of sysclk (default). 1 = synchronization clock generator coincident with the falling edge of sysclk. 24 not available 23:18 sync state preset value this 6-bit number is the state that the internal clock generator assumes when it receives a sync pulse. default is 000000 2 . 17:16 not available 15:11 output sync generator delay this 5-bit number sets the output delay (in ~150 ps increments) of the sync generator. default is 00000 2 . 10:8 not available 7:3 input sync receiver delay this 5-bit number sets the input delay (in ~150 ps increments) of the sync receiver. default is 00000 2 . 2:0 not available digital ramp limit register address 0x0b, 8 bytes are assigned to this register. this register is only effective if cfr2<19> = 1. see the digital ramp generator (drg) section for details. table 26. bit descriptions for digital ramp limit register bit(s) descriptor explanation 63:32 digital ramp upper limit 32-bit digital ramp upper limit value. 31:0 digital ramp lower limit 32-bit digital ramp lower limit value. digital ramp step size register address 0x0c, 8 bytes are assigned to this register. this register is only effective if cfr2<19> = 1. see the digital ramp generator (drg) section for details. table 27. bit descriptions for di gital ramp step size register bit(s) descriptor explanation 63:32 digital ramp decrement step size 32-bit digital ramp decrement step size value. 31:0 digital ramp increment step size 32-bit digital ramp increment step size value. digital ramp rate register address 0x0d, 4 bytes are assigned to this register. this register is only effective if cfr2<19> = 1. see the digital ramp generator (drg) section for details. table 28. bit descriptions for digital ramp rate register bit(s) descriptor explanation 31:16 digital ramp negative slope rate 16-bit digital ramp negative slope value that defines the time interval between decrement values. 15:0 digital ramp positive slope rate 16-bit digital ramp positive slope value that defines the time interval between increment values.
ad9910 rev. 0 | page 59 of 60 profile registers there are eight consecutive serial i/o addresses (address 0x0e to address 0x015) dedicated to device profiles. all eight profile registers are either single tone profiles or ram profiles. ram profiles are in effect when cfr1<31> = 1. single tone profiles are in effect when cfr1<31> = 0, cfr2<19> = 0, and cfr2<4> = 0. in normal operation, the active profile register is selected using the external profile<2:0> pins. however, in the specific case when cfr1<31> = 1 and cfr1<20:17> 0000 2 , the active profile is selected automatically (see the ram ramp up internal profile control mode section). profile 0 to profile 7single tone register address 0x0e to address 0x15, 8 bytes are assigned to this register. table 29. bit descriptions for profile 0 to profile 7 single tone register bit(s) descriptor explanation 63:62 not available 61:48 amplitude scale factor this 14-bit nu mber controls the dds output amplitude. 47:32 phase offset word this 16-bit number controls the dds phase offset. 31:0 frequency tuning word this 32-bit number controls the dds frequency. profile 0 to profile 7ram register address 0x0e to address 0x15, 8 bytes are assigned to this register. table 30. bit descriptions for profile 0 to profile 7 ram register bit(s) descriptor explanation 63:56 not available 55:40 address step rate 16-bit address step rate value. 39:30 waveform end address 10-bit waveform end address. 29:24 not available 23:14 waveform start address 10-bit waveform start address. 13:6 not available 5 no-dwell high effective only when the ram mode is in ramp up. 0 = when the ram state machine reaches the end address, it halts. 1 = when the ram state machines reaches the end address, it jumps to the start address and halts. 4 not available 3 zero-crossing effective only when in ram mode, direct switch. 0 = zero-crossing function disabled. 1 = zero-crossing function enabled. 2:0 ram mode control see table 13 for details.
ad9910 rev. 0 | page 60 of 60 outline dimensions compliant to jedec standards ms-026-aed-hd [note: exposed pad should be solder to ground] 1 25 26 50 76 100 75 51 14.00 bsc sq 16.00 bsc sq 0.75 0.60 0.45 1.20 max 1.05 1.00 0.95 0.20 0.09 0.08 max coplanarity view a rotated 90 ccw seating plane 0 min 7 3.5 0 0.15 0.05 view a pin 1 top view (pins down) 0.27 0.22 0.17 0.50 bsc lead pitch 1 25 26 50 76 100 75 51 bottom view (pins up) 5.00 sq exposed pad 121806-a figure 58. 100-lead thin quad fl at package, exposed pad [tqfp_ep] (sv-100-4) dimensions shown in millimeters ordering guide model temperature range package description package option ad9910bsvz 1 C40c to +85c 100-lead thin quad flat package, exposed pad [tqfp_ep] sv-100-4 ad9910bsvz-reel 1 C40c to +85c 100-lead thin quad flat package, exposed pad [tqfp_ep] sv-100-4 ad9910/pcbz 1 evaluation board 1 z = rohs compliant part. ?2007 analog devices, inc. all rights reserved. trademarks and registered trademarks are the property of their respective owners. d06479-0- 5/07(0)


▲Up To Search▲   

 
Price & Availability of AD9910PCBZ

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X